Am Freitag, den 26.10.2012, 15:56 +0800 schrieb Yuanhan Liu: > Say, if we want to allocate a filo with size of 6 bytes, it would be safer > to allocate 8 bytes instead of 4 bytes. > ---- > I know it works with rounddown_pow_of_two as well, since size is maintained > in the kfifo internal part. But, I'm quite curious why Stefani chose > rounddown_pow_of_two. To reduce memory? >
Yes, exactly, if a user do the wrong thing, than the user will get also a wrong result, and did not waste memory. But anyway, if the majority like this patch it is okay for me. > Thanks, > Yuanhan Liu > ----- > > Cc: Stefani Seibold <[email protected]> > Cc: Andrew Morton <[email protected]> > Signed-off-by: Yuanhan Liu <[email protected]> > --- > kernel/kfifo.c | 6 +++--- > 1 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/kernel/kfifo.c b/kernel/kfifo.c > index 59dcf5b..0f78378 100644 > --- a/kernel/kfifo.c > +++ b/kernel/kfifo.c > @@ -39,11 +39,11 @@ int __kfifo_alloc(struct __kfifo *fifo, unsigned int size, > size_t esize, gfp_t gfp_mask) > { > /* > - * round down to the next power of 2, since our 'let the indices > + * round up to the next power of 2, since our 'let the indices > * wrap' technique works only in this case. > */ > if (!is_power_of_2(size)) > - size = rounddown_pow_of_two(size); > + size = roundup_pow_of_two(size); > > fifo->in = 0; > fifo->out = 0; > @@ -84,7 +84,7 @@ int __kfifo_init(struct __kfifo *fifo, void *buffer, > size /= esize; > > if (!is_power_of_2(size)) > - size = rounddown_pow_of_two(size); > + size = roundup_pow_of_two(size); > > fifo->in = 0; > fifo->out = 0; -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

