diff options
Diffstat (limited to 'io_uring/fdinfo.c')
| -rw-r--r-- | io_uring/fdinfo.c | 8 | 
1 files changed, 4 insertions, 4 deletions
diff --git a/io_uring/fdinfo.c b/io_uring/fdinfo.c index ff3364531c77..294c75a8a3bd 100644 --- a/io_uring/fdinfo.c +++ b/io_uring/fdinfo.c @@ -59,7 +59,6 @@ static void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, struct seq_file *m)  {  	struct io_overflow_cqe *ocqe;  	struct io_rings *r = ctx->rings; -	struct rusage sq_usage;  	unsigned int sq_mask = ctx->sq_entries - 1, cq_mask = ctx->cq_entries - 1;  	unsigned int sq_head = READ_ONCE(r->sq.head);  	unsigned int sq_tail = READ_ONCE(r->sq.tail); @@ -152,14 +151,15 @@ static void __io_uring_show_fdinfo(struct io_ring_ctx *ctx, struct seq_file *m)  		 * thread termination.  		 */  		if (tsk) { +			u64 usec; +  			get_task_struct(tsk);  			rcu_read_unlock(); -			getrusage(tsk, RUSAGE_SELF, &sq_usage); +			usec = io_sq_cpu_usec(tsk);  			put_task_struct(tsk);  			sq_pid = sq->task_pid;  			sq_cpu = sq->sq_cpu; -			sq_total_time = (sq_usage.ru_stime.tv_sec * 1000000 -					 + sq_usage.ru_stime.tv_usec); +			sq_total_time = usec;  			sq_work_time = sq->work_time;  		} else {  			rcu_read_unlock();  | 
