@@ -1086,8 +1086,11 @@ static void unlink_timers( struct cell *t )
1086
1086
void timer_routine (unsigned int ticks , void * set )
1087
1087
{
1088
1088
struct timer_link * tl , * tmp_tl ;
1089
+ struct timespec begin ;
1089
1090
int id ;
1090
1091
1092
+ clock_gettime (CLOCK_REALTIME , & begin );
1093
+
1091
1094
lock_start_write ( timertable [(long )set ].ex_lock );
1092
1095
1093
1096
for ( id = 0 ; id < RT_T1_TO_1 ; id ++ )
@@ -1111,15 +1114,22 @@ void timer_routine(unsigned int ticks , void *set)
1111
1114
}
1112
1115
}
1113
1116
lock_stop_write ( timertable [(long )set ].ex_lock );
1117
+
1118
+ clock_check_diff ((double )TM_TIMER_ITV_S * 1e9 * TM_TIMER_LOAD_WARN ,
1119
+ "now at %d%%+ capacity, inuse_transactions: %lu" , (int )(TM_TIMER_LOAD_WARN * 100 ),
1120
+ (unsigned long )get_stat_val (tm_trans_inuse ));
1114
1121
}
1115
1122
1116
1123
1117
1124
1118
1125
void utimer_routine (utime_t uticks , void * set )
1119
1126
{
1120
1127
struct timer_link * tl , * tmp_tl ;
1128
+ struct timespec begin ;
1121
1129
int id ;
1122
1130
1131
+ clock_gettime (CLOCK_REALTIME , & begin );
1132
+
1123
1133
lock_start_write ( timertable [(long )set ].ex_lock );
1124
1134
1125
1135
for ( id = RT_T1_TO_1 ; id < NR_OF_TIMER_LISTS ; id ++ )
@@ -1139,5 +1149,9 @@ void utimer_routine(utime_t uticks , void *set)
1139
1149
}
1140
1150
}
1141
1151
lock_stop_write ( timertable [(long )set ].ex_lock );
1152
+
1153
+ clock_check_diff ((double )TM_UTIMER_ITV_US * 1000 * TM_TIMER_LOAD_WARN ,
1154
+ "now at %d%%+ capacity, inuse_transactions: %lu" , (int )(TM_TIMER_LOAD_WARN * 100 ),
1155
+ (unsigned long )get_stat_val (tm_trans_inuse ));
1142
1156
}
1143
1157
0 commit comments