Re: [PATCH 2/4] introduce four macros for in-kernel hints
From: Jan Kara <jack@suse.cz>
Date: 2019-01-24 08:35:41
Also in:
linux-block, linux-fsdevel, linux-nvme
On Wed 23-01-19 19:27:12, Javier González wrote:
quoted
On 9 Jan 2019, at 16.30, Kanchan Joshi [off-list ref] wrote: Exiting write-hints are exposed to user-mode. There is a possiblity of conflict if kernel happens to use those. This patch introduces four write-hints for exclusive kernel-mode use. Signed-off-by: Kanchan Joshi <redacted> --- include/linux/fs.h | 5 +++++ 1 file changed, 5 insertions(+)diff --git a/include/linux/fs.h b/include/linux/fs.h index 811c777..e8548eb 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h@@ -291,6 +291,11 @@ enum rw_hint {WRITE_LIFE_MEDIUM = RWH_WRITE_LIFE_MEDIUM, WRITE_LIFE_LONG = RWH_WRITE_LIFE_LONG, WRITE_LIFE_EXTREME = RWH_WRITE_LIFE_EXTREME, +/* below ones are meant for in-kernel use */ + KERN_WRITE_LIFE_SHORT, + KERN_WRITE_LIFE_MEDIUM, + KERN_WRITE_LIFE_LONG, + KERN_WRITE_LIFE_EXTREME };I think Jens and Dave meant kernel hints to go top down. This would also give space for supporting more hints / streams from both ends for user and kernel.
Yes, that was the idea however if I understand it right, the write hints do not really have to be consistent boot-to-boot since they aren't stored persistently by the disk, are they? If that's the case, it doesn't really matter which numbers we pick. One thing I don't quite like is the naming of KERN_WRITE_LIFE_SHORT etc.. It is upto filesystem to assign meanings to the write hints. So I think it is enough to provide something like KERN_WRITE_HINT_MIN which is the first hint available to the kernel and then the number of hints available to the kernel. Honza -- Jan Kara [off-list ref] SUSE Labs, CR