2006-10-03 10:37:45

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH 1/6] Generic implemenatation of BUG.

> Because powerpc also records the function name, I added this to i386 and
> x86-64 for consistency. Strictly speaking the function name is redundant with
> kallsyms, so perhaps it can be dropped from powerpc.

It would be good to change it to use kallsyms() then.

>
> #ifdef CONFIG_BUG
> +
> +#ifdef CONFIG_GENERIC_BUG
> +struct bug_entry {
> + unsigned long bug_addr;
> +#ifdef CONFIG_DEBUG_BUGVERBOSE
> + const char *file;
> + unsigned short line;
> +#endif
> + unsigned short flags;

Can't you put the flags into the high bits of the line? I don't think
we have any 64kLOC files.

-Andi


2006-10-03 15:53:10

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: Re: [PATCH 1/6] Generic implemenatation of BUG.

Andi Kleen wrote:
>> Because powerpc also records the function name, I added this to i386 and
>> x86-64 for consistency. Strictly speaking the function name is redundant with
>> kallsyms, so perhaps it can be dropped from powerpc.
>>
>
> It would be good to change it to use kallsyms() then.
>

It does, in effect, when it prints the oops message and backtrace.

>>
>> #ifdef CONFIG_BUG
>> +
>> +#ifdef CONFIG_GENERIC_BUG
>> +struct bug_entry {
>> + unsigned long bug_addr;
>> +#ifdef CONFIG_DEBUG_BUGVERBOSE
>> + const char *file;
>> + unsigned short line;
>> +#endif
>> + unsigned short flags;
>>
>
> Can't you put the flags into the high bits of the line? I don't think
> we have any 64kLOC files.

I thought about it, but it would still be padded out to 12 bytes on
i386, and more on 64-bit platforms. And it doesn't matter that much.


J