2006-11-13 18:13:54

by Mariusz Kozlowski

[permalink] [raw]
Subject: proposal: remove unused macros

Hello,

Recently someone send a patch that fixed some old '#ifdef'ed code with syntax
error (stray brackets). The broken code was there for a long time and nobody
saw that. I digged some more and wrote a simple program that counted '('
and ')' in the kernel code that emits apropriate text if for a given file
both numbers differ. That is probably dumb idea but it worked :-) Quite fast
I found a dozen of broken macros with syntax errors etc. All of those macros
are unused. I digged a bit deeper and used '-Wunused-macros' flag which with
causes 8340 new warnings to be emited for 2.6.19-rc5-mm1 with 'allmodconfig'.
For sure there are false positives (see gcc man page) but even if i.e. 50% of
them are fp then we still have around 4k of unused macros scattered around
the tree.

To me this is a dead code. I can review the code causing these warnings and
prepare patches 'per subsystem' or whatever to address this issue. That is if
nobody opposes.
--
Regards,

Mariusz Kozlowski


2006-11-14 02:19:40

by Gene Heskett

[permalink] [raw]
Subject: Re: proposal: remove unused macros

On Monday 13 November 2006 13:13, Mariusz Kozlowski wrote:
>Hello,
>
> Recently someone send a patch that fixed some old '#ifdef'ed code with
> syntax error (stray brackets). The broken code was there for a long
> time and nobody saw that. I digged some more and wrote a simple program
> that counted '(' and ')' in the kernel code that emits apropriate text
> if for a given file both numbers differ. That is probably dumb idea but
> it worked :-) Quite fast I found a dozen of broken macros with syntax
> errors etc. All of those macros are unused. I digged a bit deeper and
> used '-Wunused-macros' flag which with causes 8340 new warnings to be
> emited for 2.6.19-rc5-mm1 with 'allmodconfig'. For sure there are false
> positives (see gcc man page) but even if i.e. 50% of them are fp then
> we still have around 4k of unused macros scattered around the tree.
>
>To me this is a dead code. I can review the code causing these warnings
> and prepare patches 'per subsystem' or whatever to address this issue.
> That is if nobody opposes.

With regard to your parens checking code, I re-wrote from a broken
version, about 20 years ago, a utility to check all that. I used it on
the coco/os9 systems at the time, then built it for the amiga, and
rebuilt it for linux a few years back. It checks brackets, quotes in "
style and ' style and ;, etc stuff. I called mine cntx, and I've used it
occasionally here, but haven't had the need/urge to test any kernel code
with it so far.

If anyone is interested, and the list will take attachments of that
nature, I'd be honored to share it. What say you all?

--
Cheers, Gene

2006-11-14 05:29:29

by Randy Dunlap

[permalink] [raw]
Subject: Re: proposal: remove unused macros

On Mon, 13 Nov 2006 21:19:17 -0500 Gene Heskett wrote:

> On Monday 13 November 2006 13:13, Mariusz Kozlowski wrote:
> >Hello,
> >
> > Recently someone send a patch that fixed some old '#ifdef'ed code with
> > syntax error (stray brackets). The broken code was there for a long
> > time and nobody saw that. I digged some more and wrote a simple program
> > that counted '(' and ')' in the kernel code that emits apropriate text
> > if for a given file both numbers differ. That is probably dumb idea but
> > it worked :-) Quite fast I found a dozen of broken macros with syntax
> > errors etc. All of those macros are unused. I digged a bit deeper and
> > used '-Wunused-macros' flag which with causes 8340 new warnings to be
> > emited for 2.6.19-rc5-mm1 with 'allmodconfig'. For sure there are false
> > positives (see gcc man page) but even if i.e. 50% of them are fp then
> > we still have around 4k of unused macros scattered around the tree.
> >
> >To me this is a dead code. I can review the code causing these warnings
> > and prepare patches 'per subsystem' or whatever to address this issue.
> > That is if nobody opposes.
>
> With regard to your parens checking code, I re-wrote from a broken
> version, about 20 years ago, a utility to check all that. I used it on
> the coco/os9 systems at the time, then built it for the amiga, and
> rebuilt it for linux a few years back. It checks brackets, quotes in "
> style and ' style and ;, etc stuff. I called mine cntx, and I've used it
> occasionally here, but haven't had the need/urge to test any kernel code
> with it so far.
>
> If anyone is interested, and the list will take attachments of that
> nature, I'd be honored to share it. What say you all?

I'm interested.

Thanks,
---
~Randy

2006-11-14 12:17:40

by Horst H. von Brand

[permalink] [raw]
Subject: Re: proposal: remove unused macros

Gene Heskett <[email protected]> wrote:

[...]

> With regard to your parens checking code, I re-wrote from a broken
> version, about 20 years ago, a utility to check all that. I used it on
> the coco/os9 systems at the time, then built it for the amiga, and
> rebuilt it for linux a few years back. It checks brackets, quotes in "
> style and ' style and ;, etc stuff. I called mine cntx, and I've used it
> occasionally here, but haven't had the need/urge to test any kernel code
> with it so far.
>
> If anyone is interested, and the list will take attachments of that
> nature, I'd be honored to share it. What say you all?

I'd be interested. Licensing terms? GPLv2, BSD, ...?
--
Dr. Horst H. von Brand User #22616 counter.li.org
Departamento de Informatica Fono: +56 32 2654431
Universidad Tecnica Federico Santa Maria +56 32 2654239
Casilla 110-V, Valparaiso, Chile Fax: +56 32 2797513

2006-11-14 14:30:00

by Gene Heskett

[permalink] [raw]
Subject: Re: proposal: remove unused macros

On Tuesday 14 November 2006 06:18, Horst H. von Brand wrote:
>Gene Heskett <[email protected]> wrote:
>
>[...]
>
>> With regard to your parens checking code, I re-wrote from a broken
>> version, about 20 years ago, a utility to check all that. I used it
>> on the coco/os9 systems at the time, then built it for the amiga, and
>> rebuilt it for linux a few years back. It checks brackets, quotes in
>> " style and ' style and ;, etc stuff. I called mine cntx, and I've
>> used it occasionally here, but haven't had the need/urge to test any
>> kernel code with it so far.
>>
>> If anyone is interested, and the list will take attachments of that
>> nature, I'd be honored to share it. What say you all?
>
>I'd be interested. Licensing terms? GPLv2, BSD, ...?

Generally PD, I didn't change that. I'll send a copy to your address.

--
Cheers, Gene

2006-11-14 14:37:40

by Mariusz Kozlowski

[permalink] [raw]
Subject: Re: proposal: remove unused macros

Hello,

> >> If anyone is interested, and the list will take attachments of that
> >> nature, I'd be honored to share it. What say you all?
> >
> >I'd be interested. Licensing terms? GPLv2, BSD, ...?
>
> Generally PD, I didn't change that. I'll send a copy to your address.

Can you make it both with the code publicly available somewhere? My code was
rather a 'proof of concept' and it is far from a real tool to share with
people.

--
Regards,

Mariusz Kozlowski