Re: FAILED: patch "[PATCH] io_uring: Use io_schedule* in cqring wait" failed to apply to 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jul 16, 2023 at 01:19:31PM -0600, Jens Axboe wrote:
> On 7/16/23 1:11?PM, Andres Freund wrote:
> > Hi,
> > 
> > On 2023-07-16 12:13:45 -0600, Jens Axboe wrote:
> >> Here's one for 6.1-stable.
> > 
> > Thanks for working on that!
> > 
> > 
> >> diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
> >> index cc35aba1e495..de117d3424b2 100644
> >> --- a/io_uring/io_uring.c
> >> +++ b/io_uring/io_uring.c
> >> @@ -2346,7 +2346,7 @@ static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
> >>  					  struct io_wait_queue *iowq,
> >>  					  ktime_t *timeout)
> >>  {
> >> -	int ret;
> >> +	int token, ret;
> >>  	unsigned long check_cq;
> >>  
> >>  	/* make sure we run task_work before checking for signals */
> >> @@ -2362,9 +2362,18 @@ static inline int io_cqring_wait_schedule(struct io_ring_ctx *ctx,
> >>  		if (check_cq & BIT(IO_CHECK_CQ_DROPPED_BIT))
> >>  			return -EBADR;
> >>  	}
> >> +
> >> +	/*
> >> +	 * Use io_schedule_prepare/finish, so cpufreq can take into account
> >> +	 * that the task is waiting for IO - turns out to be important for low
> >> +	 * QD IO.
> >> +	 */
> >> +	token = io_schedule_prepare();
> >> +	ret = 0;
> >>  	if (!schedule_hrtimeout(timeout, HRTIMER_MODE_ABS))
> >> -		return -ETIME;
> >> -	return 1;
> >> +		ret = -ETIME;
> >> +	io_schedule_finish(token);
> >> +	return ret;
> >>  }
> > 
> > To me it looks like this might have changed more than intended? Previously
> > io_cqring_wait_schedule() returned 0 in case schedule_hrtimeout() returned
> > non-zero, now io_cqring_wait_schedule() returns 1 in that case?  Am I missing
> > something?
> 
> Ah shoot yes indeed. Greg, can you drop the 5.10/5.15/6.1 ones for now?
> I'll get it sorted tomorrow. Sorry about that, and thanks for catching
> that Andres!

Sure, will go drop it now, thanks.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux