RE: [PATCH] iov_iter: optimise iter type checking

From: David Laight
Date: Mon Jan 11 2021 - 04:37:37 EST


From: Pavel Begunkov
> Sent: 09 January 2021 22:11
....
> > Does any code actually look at the fields as a pair?
> > Would it even be better to use separate bytes?
> > Even growing the on-stack structure by a word won't really matter.
>
> u8 type, rw;
>
> That won't bloat the struct. I like the idea. If used together compilers
> can treat it as u16.
>
> btw there is a 4B hole just after for x64.

I've just had a quick look at the sources.
(Nothing was powered up earlier.)

AFAICT nothing needs the RW flag to be in the same word
as the type.
If you think about it, the call site is specific to read/write.
The only places iov_iter_rw() is used in inside helper functions
to save the direction being passed from the caller.

I hope the comment about bit 1 being BVEC_FLAG_NO_REF is old.
I can't find any references to that flag.

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)