Re: [PATCH 01/12] lib: create common ascii hex array

Ilpo Järvinen
2008-05-13T09:55:05Z

On Mon, 12 May 2008, Harvey Harrison wrote:

> Add a common hex array in hexdump.c so everyone can use it.
>
> Add a common hi/lo helper to avoid the shifting masking that is
> done to get the upper and lower nibbles of a byte value.
>
> Pull the pack_hex_byte helper from kgdb as it is opencoded many
> places in the tree that will be consolidated.
>
> Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
> ---
>
> diff --git a/include/linux/kernel.h b/include/linux/kernel.h
> index 4d46e29..792bf0a 100644
> --- a/include/linux/kernel.h
> +++ b/include/linux/kernel.h
> @@ -276,7 +276,17 @@ extern void print_hex_dump(const char *level, const char *prefix_str,
> const void *buf, size_t len, bool ascii);
> extern void print_hex_dump_bytes(const char *prefix_str, int prefix_type,
> const void *buf, size_t len);
> -#define hex_asc(x) "0123456789abcdef"[x]
> +
> +extern const char hex_asc[];
> +#define hex_asc_lo(x) hex_asc[((x) & 0x0f)]
> +#define hex_asc_hi(x) hex_asc[((x) & 0xf0) >> 4]
> +
> +static inline char *pack_hex_byte(char *buf, u8 byte)
> +{
> + *buf++ = hex_asc_hi(byte);
> + *buf++ = hex_asc_lo(byte);
> + return buf;
> +}

Any idea how much this will bloat kernel once it has, lets say 100
users? 5k, 10k?

--
i.