linux-block.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] f2fs: provide a way to attach HIPRI for Direct IO
       [not found] <20211109021336.3796538-1-jaegeuk@kernel.org>
@ 2021-11-09 16:39 ` Christoph Hellwig
  2021-11-09 16:42   ` Jens Axboe
  0 siblings, 1 reply; 4+ messages in thread
From: Christoph Hellwig @ 2021-11-09 16:39 UTC (permalink / raw)
  To: Jaegeuk Kim; +Cc: linux-kernel, linux-f2fs-devel, linux-block, linux-fsdevel

On Mon, Nov 08, 2021 at 06:13:36PM -0800, Jaegeuk Kim wrote:
> This patch adds a way to attach HIPRI by expanding the existing sysfs's
> data_io_flag. User can measure IO performance by enabling it.

NAK.  This flag should only be used when explicitly specified by
the submitter of the I/O.

> 
> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
> ---
>  Documentation/ABI/testing/sysfs-fs-f2fs | 16 +++++++++-------
>  fs/f2fs/data.c                          |  2 ++
>  fs/f2fs/f2fs.h                          |  3 +++
>  3 files changed, 14 insertions(+), 7 deletions(-)
> 
> diff --git a/Documentation/ABI/testing/sysfs-fs-f2fs b/Documentation/ABI/testing/sysfs-fs-f2fs
> index b268e3e18b4a..ac52e1c6bcbc 100644
> --- a/Documentation/ABI/testing/sysfs-fs-f2fs
> +++ b/Documentation/ABI/testing/sysfs-fs-f2fs
> @@ -369,13 +369,15 @@ Contact:	"Jaegeuk Kim" <jaegeuk@kernel.org>
>  Description:	Give a way to attach REQ_META|FUA to data writes
>  		given temperature-based bits. Now the bits indicate:
>  
> -		+-------------------+-------------------+
> -		|      REQ_META     |      REQ_FUA      |
> -		+------+------+-----+------+------+-----+
> -		|    5 |    4 |   3 |    2 |    1 |   0 |
> -		+------+------+-----+------+------+-----+
> -		| Cold | Warm | Hot | Cold | Warm | Hot |
> -		+------+------+-----+------+------+-----+
> +		+------------+-------------------+-------------------+
> +		| HIPRI_DIO  |      REQ_META     |      REQ_FUA      |
> +		+------------+------+------+-----+------+------+-----+
> +		|          6 |    5 |    4 |   3 |    2 |    1 |   0 |
> +		+------------+------+------+-----+------+------+-----+
> +		|        All | Cold | Warm | Hot | Cold | Warm | Hot |
> +		+------------+------+------+-----+------+------+-----+
> +
> +		Note that, HIPRI_DIO bit is only for direct IO path.
>  
>  What:		/sys/fs/f2fs/<disk>/node_io_flag
>  Date:		June 2020
> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
> index 9f754aaef558..faa40aca2848 100644
> --- a/fs/f2fs/data.c
> +++ b/fs/f2fs/data.c
> @@ -3707,6 +3707,8 @@ static ssize_t f2fs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)
>  		if (do_opu)
>  			down_read(&fi->i_gc_rwsem[READ]);
>  	}
> +	if (sbi->data_io_flag & HIPRI_DIO)
> +		iocb->ki_flags |= IOCB_HIPRI;
>  
>  	err = __blockdev_direct_IO(iocb, inode, inode->i_sb->s_bdev,
>  			iter, rw == WRITE ? get_data_block_dio_write :
> diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
> index ce9fc9f13000..094f1e8ff82b 100644
> --- a/fs/f2fs/f2fs.h
> +++ b/fs/f2fs/f2fs.h
> @@ -1557,6 +1557,9 @@ struct decompress_io_ctx {
>  #define MAX_COMPRESS_LOG_SIZE		8
>  #define MAX_COMPRESS_WINDOW_SIZE(log_size)	((PAGE_SIZE) << (log_size))
>  
> +/* HIPRI for direct IO used in sysfs/data_io_flag */
> +#define HIPRI_DIO			(1 << 6)
> +
>  struct f2fs_sb_info {
>  	struct super_block *sb;			/* pointer to VFS super block */
>  	struct proc_dir_entry *s_proc;		/* proc entry */
> -- 
> 2.34.0.rc0.344.g81b53c2807-goog
> 
---end quoted text---

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] f2fs: provide a way to attach HIPRI for Direct IO
  2021-11-09 16:39 ` [PATCH] f2fs: provide a way to attach HIPRI for Direct IO Christoph Hellwig
@ 2021-11-09 16:42   ` Jens Axboe
  2021-11-10 19:08     ` Jaegeuk Kim
  0 siblings, 1 reply; 4+ messages in thread
From: Jens Axboe @ 2021-11-09 16:42 UTC (permalink / raw)
  To: Christoph Hellwig, Jaegeuk Kim
  Cc: linux-kernel, linux-f2fs-devel, linux-block, linux-fsdevel

On 11/9/21 9:39 AM, Christoph Hellwig wrote:
> On Mon, Nov 08, 2021 at 06:13:36PM -0800, Jaegeuk Kim wrote:
>> This patch adds a way to attach HIPRI by expanding the existing sysfs's
>> data_io_flag. User can measure IO performance by enabling it.
> 
> NAK.  This flag should only be used when explicitly specified by
> the submitter of the I/O.

Yes, this cannot be set in the middle for a multitude of reasons. I wonder
if we should add a comment to that effect near the definition of it.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] f2fs: provide a way to attach HIPRI for Direct IO
  2021-11-09 16:42   ` Jens Axboe
@ 2021-11-10 19:08     ` Jaegeuk Kim
  2021-11-11  0:26       ` Jens Axboe
  0 siblings, 1 reply; 4+ messages in thread
From: Jaegeuk Kim @ 2021-11-10 19:08 UTC (permalink / raw)
  To: Jens Axboe
  Cc: Christoph Hellwig, linux-kernel, linux-f2fs-devel, linux-block,
	linux-fsdevel

On 11/09, Jens Axboe wrote:
> On 11/9/21 9:39 AM, Christoph Hellwig wrote:
> > On Mon, Nov 08, 2021 at 06:13:36PM -0800, Jaegeuk Kim wrote:
> >> This patch adds a way to attach HIPRI by expanding the existing sysfs's
> >> data_io_flag. User can measure IO performance by enabling it.
> > 
> > NAK.  This flag should only be used when explicitly specified by
> > the submitter of the I/O.
> 
> Yes, this cannot be set in the middle for a multitude of reasons. I wonder
> if we should add a comment to that effect near the definition of it.

Not surprising. I was wondering we can add this for testing purpose only.
Btw, is there a reasonable way that filesystem can use IO polling?

> 
> -- 
> Jens Axboe

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] f2fs: provide a way to attach HIPRI for Direct IO
  2021-11-10 19:08     ` Jaegeuk Kim
@ 2021-11-11  0:26       ` Jens Axboe
  0 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2021-11-11  0:26 UTC (permalink / raw)
  To: Jaegeuk Kim
  Cc: Christoph Hellwig, linux-kernel, linux-f2fs-devel, linux-block,
	linux-fsdevel

On 11/10/21 12:08 PM, Jaegeuk Kim wrote:
> On 11/09, Jens Axboe wrote:
>> On 11/9/21 9:39 AM, Christoph Hellwig wrote:
>>> On Mon, Nov 08, 2021 at 06:13:36PM -0800, Jaegeuk Kim wrote:
>>>> This patch adds a way to attach HIPRI by expanding the existing sysfs's
>>>> data_io_flag. User can measure IO performance by enabling it.
>>>
>>> NAK.  This flag should only be used when explicitly specified by
>>> the submitter of the I/O.
>>
>> Yes, this cannot be set in the middle for a multitude of reasons. I wonder
>> if we should add a comment to that effect near the definition of it.
> 
> Not surprising. I was wondering we can add this for testing purpose only.
> Btw, is there a reasonable way that filesystem can use IO polling?

Whether an IO is polled or not belongs to the issuer of the IO, as it
comes with certain obligations like "I will actively poll for the
completion of this request", and it incurs certain restrictions in the
block layer in terms of whether or not you can ever sleep for requests.

You could certainly use in in an fs, but only IFF you are the original
issuer of the request, which then also means that you are the one that
needs to poll for completion of it.

It's not a drive-by "let's set this flag to speed things up" kind of
flag, there are a lot more moving parts than that.

I don't think it will be useful for you.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-11-11  0:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20211109021336.3796538-1-jaegeuk@kernel.org>
2021-11-09 16:39 ` [PATCH] f2fs: provide a way to attach HIPRI for Direct IO Christoph Hellwig
2021-11-09 16:42   ` Jens Axboe
2021-11-10 19:08     ` Jaegeuk Kim
2021-11-11  0:26       ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).