[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-ext4
Subject:    Re: [PATCH v3 1/7] block: extend stream count for in-kernel use
From:       Andreas Dilger <adilger () dilger ! ca>
Date:       2019-03-30 17:48:38
Message-ID: FCE37AF6-FAD4-4968-B5DE-64399A8D5C9A () dilger ! ca
[Download RAW message or body]

On Mar 29, 2019, at 1:53 AM, Kanchan Joshi <joshi.k@samsung.com> wrote:
> 
> This patch bumps up stream count to suppor in-kernel hints. It also
> adds 'streamid' member in 'request' and declares new API for driver
> to register stream-info with block layer.
> 
> Signed-off-by: Kanchan Joshi <joshi.k@samsung.com>
> ---
> include/linux/blkdev.h | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
> index 338604d..4088e21 100644
> --- a/include/linux/blkdev.h
> +++ b/include/linux/blkdev.h
> @@ -214,6 +214,7 @@ struct request {
> #endif
> 
> 	unsigned short write_hint;
> +	unsigned short streamid;
> 	unsigned short ioprio;
> 
> 	void *special;		/* opaque pointer available for LLD use */
> @@ -341,6 +342,8 @@ struct queue_limits {
> 	unsigned char		misaligned;
> 	unsigned char		discard_misaligned;
> 	unsigned char		raid_partial_stripes_expensive;
> +
> +	unsigned short		nr_streams;
> 	enum blk_zoned_model	zoned;
> };
> 
> @@ -567,8 +570,9 @@ struct request_queue {
> 	size_t			cmd_size;
> 
> 	struct work_struct	release_work;
> -
> -#define BLK_MAX_WRITE_HINTS	5
> +#define BLK_MAX_USER_HINTS	(WRITE_LIFE_KERN_MIN - 2)
> +#define BLK_MAX_KERN_HINTS	4
> +#define BLK_MAX_WRITE_HINTS	(1 + BLK_MAX_USER_HINTS + BLK_MAX_KERN_HINTS)
> 	u64			write_hints[BLK_MAX_WRITE_HINTS];
> };
> 
> @@ -1071,6 +1075,7 @@ extern void blk_queue_update_dma_alignment(struct request_queue *, int);
> extern void blk_queue_rq_timeout(struct request_queue *, unsigned int);
> extern void blk_queue_flush_queueable(struct request_queue *q, bool queueable);
> extern void blk_queue_write_cache(struct request_queue *q, bool enabled, bool fua);
> +extern void blk_queue_stream_limits(struct request_queue *, unsigned short);

This declaration should be in the 2/7 patch where the function is added.


Cheers, Andreas






["signature.asc" (signature.asc)]

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iQIzBAEBCAAdFiEEDb73u6ZejP5ZMprvcqXauRfMH+AFAlyfq/YACgkQcqXauRfM
H+Bp0w//bClHuECeaul+BcHUe4kQEKqJ2tPHEeURwIJ6aQkJ08b5SJsQwv96gyzb
q5kSMY4eoaiM9mpMPIcKY16ZQy+P0sTyP+zLnE5GxhEOWAIPVxk5Pizb330hIjLS
DNqFRnurckrliUIkDmcnrgW7hqfY10UAkIuWZjQzBYa+6d1RIYNnDx4qXMTeR4JZ
ZueztUxkDSSCmMFCWfPWEGJhfduDdyBjF7M2+cVKvBiOStsIpLDXGwMkeTvfk+N2
RwaUKiVAEuG+2FBEp6CiYDc2BuubnxZE19JeYCMI0UuBFa8jC15U5WfaLW60nMHL
WZrCsB8aHkY8I2bvPI7Xyg7iXPKHXXBH+YGV5v90YShUunM1MHVY13kEyG2P00rT
Xx1ywc4mxLP/AUeVO4GuqXlRGkKAaWRi1+8dG1bKbmYhb7goGPRUpZgEWKsNR6tL
kd8jyH8JfxGbIHjwRWvhrL6hcojfdQoLncVS4OCcLDBQ3b1m4hRKDc2i2KDWV+Gk
FR0PU94LYcK9ZMyY2ITwSAMmdbQg5V7XUw9wzigZ2PGmZdxQQa7vnX2TVBdG2uDb
32HNosnKv7xT4sz5kyICoM7g2iHr1hhmznhJ5LXtdMs0FTWXkSPeycDIc2ss2Hk2
OBj1JA+U6EXYMTu5wxLJmc1eOi8eb5M8xyn0PLvuV1GWXoKkdTI=
=52IS
-----END PGP SIGNATURE-----


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic