jbd2: track request delay statistics
Track the delay between when we first request that the commit begin and when it actually begins, so we can see how much of a gap exists. In theory, this should just be the remaining scheduling quantuum of the thread which requested the commit (assuming it was not a synchronous operation which triggered the commit request) plus scheduling overhead; however, it's possible that real time processes might get in the way of letting the kjournald thread from executing. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
This commit is contained in:
@@ -580,6 +580,11 @@ struct transaction_s
|
||||
*/
|
||||
unsigned long t_start;
|
||||
|
||||
/*
|
||||
* When commit was requested
|
||||
*/
|
||||
unsigned long t_requested;
|
||||
|
||||
/*
|
||||
* Checkpointing stats [j_checkpoint_sem]
|
||||
*/
|
||||
@@ -637,6 +642,7 @@ struct transaction_s
|
||||
|
||||
struct transaction_run_stats_s {
|
||||
unsigned long rs_wait;
|
||||
unsigned long rs_request_delay;
|
||||
unsigned long rs_running;
|
||||
unsigned long rs_locked;
|
||||
unsigned long rs_flushing;
|
||||
@@ -649,6 +655,7 @@ struct transaction_run_stats_s {
|
||||
|
||||
struct transaction_stats_s {
|
||||
unsigned long ts_tid;
|
||||
unsigned long ts_requested;
|
||||
struct transaction_run_stats_s run;
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user