public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Changheun Lee <nanich.lee@samsung.com>
Cc: bvanassche@acm.org, Johannes.Thumshirn@wdc.com,
	asml.silence@gmail.com, axboe@kernel.dk, damien.lemoal@wdc.com,
	hch@infradead.org, jisoo2146.oh@samsung.com,
	junho89.kim@samsung.com, linux-block@vger.kernel.org,
	linux-kernel@vger.kernel.org, ming.lei@redhat.com,
	mj0123.lee@samsung.com, osandov@fb.com, patchwork-bot@kernel.org,
	seunghwan.hyun@samsung.com, sookwan7.kim@samsung.com,
	tj@kernel.org, tom.leiming@gmail.com, woosung2.lee@samsung.com,
	yt0928.kim@samsung.com
Subject: Re: [RESEND PATCH v5 2/2] bio: add limit_bio_size sysfs
Date: Wed, 7 Apr 2021 07:43:08 +0200	[thread overview]
Message-ID: <YG1GbFOqaq3wAnfZ@kroah.com> (raw)
In-Reply-To: <20210407012117.21122-1-nanich.lee@samsung.com>

On Wed, Apr 07, 2021 at 10:21:17AM +0900, Changheun Lee wrote:
> > On 3/16/21 12:44 AM, Changheun Lee wrote:
> > > Add limit_bio_size block sysfs node to limit bio size.
> > > Queue flag QUEUE_FLAG_LIMIT_BIO_SIZE will be set if limit_bio_size is set.
> > > And bio max size will be limited by queue max sectors via
> > > QUEUE_FLAG_LIMIT_BIO_SIZE set.
> > > 
> > > Signed-off-by: Changheun Lee <nanich.lee@samsung.com>
> > > ---
> > >  Documentation/ABI/testing/sysfs-block | 10 ++++++++++
> > >  Documentation/block/queue-sysfs.rst   |  7 +++++++
> > >  block/blk-sysfs.c                     |  3 +++
> > >  3 files changed, 20 insertions(+)
> > > 
> > > diff --git a/Documentation/ABI/testing/sysfs-block b/Documentation/ABI/testing/sysfs-block
> > > index e34cdeeeb9d4..86a7b15410cf 100644
> > > --- a/Documentation/ABI/testing/sysfs-block
> > > +++ b/Documentation/ABI/testing/sysfs-block
> > > @@ -316,3 +316,13 @@ Description:
> > >  		does not complete in this time then the block driver timeout
> > >  		handler is invoked. That timeout handler can decide to retry
> > >  		the request, to fail it or to start a device recovery strategy.
> > > +
> > > +What:		/sys/block/<disk>/queue/limit_bio_size
> > > +Date:		Feb, 2021
> > > +Contact:	Changheun Lee <nanich.lee@samsung.com>
> > > +Description:
> > > +		(RW) Toggle for set/clear QUEUE_FLAG_LIMIT_BIO_SIZE queue flag.
> > > +		Queue flag QUEUE_FLAG_LIMIT_BIO_SIZE will be set if limit_bio_size
> > > +		is set. And bio max size will be limited by queue max sectors.
> > > +		QUEUE_FLAG_LIMIT_BIO_SIZE will be cleared if limit_bio_size is
> > > +		cleard. And limit of bio max size will be cleard.
> > > diff --git a/Documentation/block/queue-sysfs.rst b/Documentation/block/queue-sysfs.rst
> > > index 2638d3446b79..cd371a821855 100644
> > > --- a/Documentation/block/queue-sysfs.rst
> > > +++ b/Documentation/block/queue-sysfs.rst
> > > @@ -273,4 +273,11 @@ devices are described in the ZBC (Zoned Block Commands) and ZAC
> > >  do not support zone commands, they will be treated as regular block devices
> > >  and zoned will report "none".
> > >  
> > > +limit_bio_size (RW)
> > > +-------------------
> > > +This indicates QUEUE_FLAG_LIMIT_BIO_SIZE queue flag value. And
> > > +QUEUE_FLAG_LIMIT_BIO_SIZE can be changed via set(1)/clear(0) this node.
> > > +bio max size will be limited by queue max sectors via set this node. And
> > > +limit of bio max size will be cleard via clear this node.
> > > +
> > >  Jens Axboe <jens.axboe@oracle.com>, February 2009
> > > diff --git a/block/blk-sysfs.c b/block/blk-sysfs.c
> > > index b513f1683af0..840d97f427e6 100644
> > > --- a/block/blk-sysfs.c
> > > +++ b/block/blk-sysfs.c
> > > @@ -288,6 +288,7 @@ QUEUE_SYSFS_BIT_FNS(nonrot, NONROT, 1);
> > >  QUEUE_SYSFS_BIT_FNS(random, ADD_RANDOM, 0);
> > >  QUEUE_SYSFS_BIT_FNS(iostats, IO_STAT, 0);
> > >  QUEUE_SYSFS_BIT_FNS(stable_writes, STABLE_WRITES, 0);
> > > +QUEUE_SYSFS_BIT_FNS(limit_bio_size, LIMIT_BIO_SIZE, 0);
> > >  #undef QUEUE_SYSFS_BIT_FNS
> > >  
> > >  static ssize_t queue_zoned_show(struct request_queue *q, char *page)
> > > @@ -615,6 +616,7 @@ QUEUE_RW_ENTRY(queue_nonrot, "rotational");
> > >  QUEUE_RW_ENTRY(queue_iostats, "iostats");
> > >  QUEUE_RW_ENTRY(queue_random, "add_random");
> > >  QUEUE_RW_ENTRY(queue_stable_writes, "stable_writes");
> > > +QUEUE_RW_ENTRY(queue_limit_bio_size, "limit_bio_size");
> > >  
> > >  static struct attribute *queue_attrs[] = {
> > >  	&queue_requests_entry.attr,
> > > @@ -648,6 +650,7 @@ static struct attribute *queue_attrs[] = {
> > >  	&queue_rq_affinity_entry.attr,
> > >  	&queue_iostats_entry.attr,
> > >  	&queue_stable_writes_entry.attr,
> > > +	&queue_limit_bio_size_entry.attr,
> > >  	&queue_random_entry.attr,
> > >  	&queue_poll_entry.attr,
> > >  	&queue_wc_entry.attr,
> > 
> > Has it been considered to introduce a function to set the BIO size limit
> > instead of introducing a new sysfs attribute? See also
> > blk_queue_max_hw_sectors().
> 
> A function to set has been not considered yet.
> But sysfs attribute should be supported I think. Because it can be
> different depending on each system environment including policy.

But what tool is now responsible for setting this new value?  Where will
it get that information from?  And why can't the kernel just
automatically set this correctly in the first place without any need for
userspace interaction?

thanks,

greg k-h

  reply	other threads:[~2021-04-07  5:43 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20210316080104epcas1p11483035c927c2e65600ae90309334b24@epcas1p1.samsung.com>
2021-03-16  7:44 ` [RESEND PATCH v5 1/2] bio: limit bio max size Changheun Lee
2021-03-16  7:44   ` [RESEND PATCH v5 2/2] bio: add limit_bio_size sysfs Changheun Lee
2021-04-06 21:05     ` Bart Van Assche
2021-04-07  1:21       ` Changheun Lee
2021-04-07  5:43         ` Greg KH [this message]
2021-04-06  1:31   ` [RESEND PATCH v5 1/2] bio: limit bio max size Changheun Lee
2021-04-06  7:32     ` Greg KH
2021-04-07  0:16       ` Changheun Lee
2021-04-07  5:05         ` Greg KH
2021-04-07  5:06           ` Changheun Lee
2021-04-07  5:36             ` Greg KH
2021-04-07  6:55               ` Changheun Lee
2021-04-07  7:40                 ` Greg KH
2021-04-07  9:28                   ` [RESEND,v5,1/2] " Changheun Lee
2021-04-07 10:27                     ` Damien Le Moal
2021-04-09 14:47                       ` Bart Van Assche
2021-04-11 22:13                         ` Damien Le Moal
2021-04-12  3:23                           ` Ming Lei
2021-04-13  4:37                             ` Changheun Lee
2021-04-13  5:32                               ` Christoph Hellwig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YG1GbFOqaq3wAnfZ@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=Johannes.Thumshirn@wdc.com \
    --cc=asml.silence@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=damien.lemoal@wdc.com \
    --cc=hch@infradead.org \
    --cc=jisoo2146.oh@samsung.com \
    --cc=junho89.kim@samsung.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ming.lei@redhat.com \
    --cc=mj0123.lee@samsung.com \
    --cc=nanich.lee@samsung.com \
    --cc=osandov@fb.com \
    --cc=patchwork-bot@kernel.org \
    --cc=seunghwan.hyun@samsung.com \
    --cc=sookwan7.kim@samsung.com \
    --cc=tj@kernel.org \
    --cc=tom.leiming@gmail.com \
    --cc=woosung2.lee@samsung.com \
    --cc=yt0928.kim@samsung.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox