Re: [PATCH] blk-mq: remove hybrid polling

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

 



On Mon, Mar 20, 2023 at 11:16:40AM -0600, Jens Axboe wrote:
> > diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
> > index f1fce1c7fa44b..c6c231f3d0f10 100644
> > --- a/block/blk-sysfs.c
> > +++ b/block/blk-sysfs.c
> > @@ -408,36 +408,7 @@ queue_rq_affinity_store(struct request_queue *q, const char *page, size_t count)
> >  
> >  static ssize_t queue_poll_delay_show(struct request_queue *q, char *page)
> >  {
> > -	int val;
> > -
> > -	if (q->poll_nsec == BLK_MQ_POLL_CLASSIC)
> > -		val = BLK_MQ_POLL_CLASSIC;
> > -	else
> > -		val = q->poll_nsec / 1000;
> > -
> > -	return sprintf(page, "%d\n", val);
> > -}
> > -
> > -static ssize_t queue_poll_delay_store(struct request_queue *q, const char *page,
> > -				size_t count)
> > -{
> > -	int err, val;
> > -
> > -	if (!q->mq_ops || !q->mq_ops->poll)
> > -		return -EINVAL;
> > -
> > -	err = kstrtoint(page, 10, &val);
> > -	if (err < 0)
> > -		return err;
> > -
> > -	if (val == BLK_MQ_POLL_CLASSIC)
> > -		q->poll_nsec = BLK_MQ_POLL_CLASSIC;
> > -	else if (val >= 0)
> > -		q->poll_nsec = val * 1000;
> > -	else
> > -		return -EINVAL;
> > -
> > -	return count;
> > +	return sprintf(page, "%d\n", -1);
> >  }
> 
> Do we want to retain the _store setting here to avoid breaking anything?

I was thinking users would want to know the kernel isn't going to honor the
requested value. Errors can already happen if you're using a stacked device, so
I assmued removing '_store' wouldn't break anyone using this interface.

But I can see it both ways though, so whichever you prefer. At the very least,
though, I need to update Documentation's sysfs-block, so I'll do that in the
v2.



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux