Re: [PATCH v3 2/3] fs: Convert kiocb rw_hint from enum to u16

From: Theodore Y. Ts'o
Date: Wed May 09 2018 - 09:34:42 EST


On Tue, May 08, 2018 at 10:42:01AM -0700, adam.manzanares@xxxxxxx wrote:
> diff --git a/include/linux/fs.h b/include/linux/fs.h
> index 760d8da1b6c7..7a90ce387e00 100644
> --- a/include/linux/fs.h
> +++ b/include/linux/fs.h
> @@ -284,6 +284,8 @@ enum rw_hint {
> WRITE_LIFE_EXTREME = RWH_WRITE_LIFE_EXTREME,
> };
>
> +#define MAX_KI_HINT ((1 << 16) - 1) /* ki_hint type is u16 */
> +

Do we really think there will be *ever* be a need for more than 16 I/O
priority levels? I would much rather use the low four bits of KI_HINT
for the priority level, and reserve the rest of the 16 bits in KI_HINT
for some future use. (For example, we might want to use some number
of bits for a stream ID.)

- Ted