Re: [PATCH] lib/vsprintf.c: increase the size of the field_width variable

From: Joe Perches
Date: Thu Sep 10 2015 - 11:41:36 EST


On Thu, 2015-09-10 at 10:36 -0400, Tejun Heo wrote:
> On Wed, Sep 09, 2015 at 12:26:39PM -0700, Joe Perches wrote:
> > > > %*pb is meant for smallish bitmaps, not big ones.
[]
> The use case isn't from me, but why not?

Imagine the output of the 500k bitmap if every other
bit is set.

%*pb isn't capable of multiple line output and
seq_printf output would also fail as it uses k.alloc
memory not vmalloc.

I think that a more limited mechanism might be to use a
multiple line oriented function like print_hex_debug
and not try to emit the entire thing in a single go.

> Why are we even copying the struct on invocations?
> Only some functions modify the values after all.
> We might as well pass around pointer to the struct
> and let the callees wihch modify them copy the
> fields in local vars like normal functions.

You are of course welcome and able to change it.

btw: the current implementation has a limitation
on 32 bit arches as it uses an int argument for the
unsigned long count of bits in a bitmap.

That's a bitmap that should not be printed anyway.


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/