Re: 2.6.22-rc3-mm1: __attribute__((weak)) considered harmful

Martin Peschke
2007-06-04T23:52:44Z

Andrew Morton wrote:
> On Sat, 2 Jun 2007 19:14:25 +0200
> Adrian Bunk <bunk@stusta.de> wrote:
>
>> statistics-infrastructure-make-printk_clock-a-generic-kernel-wide-nsec-resolution.patch
>> shows why __attribute__((weak)) is harmful because you don't see if a
>> required non-weak implemtation is missing:
>>
>> In this case, the weak printk_clock() was renamed to timestamp_clock(),
>> but the ARM and i386 implementations weren't renamed...
>>
>
> printk_clock() is sched_clock() in disguise, and I'm not sure that making
> sched_clock() more widely available in this fashion is something that we
> want to do anyway.
>
> Anyway, the statistics patches have just celebrated their first birthday
> and I don't see that they're getting sufficient momentum or interest to
> ever get into mainline so I think I'll drop them, sorry.

Andrew,
the lock contention statistics, which have been added to -mm recently, duplicate
code that we have in the statistics patches. I think I can slim the lock
tracking patches further down considerably (similar to my attempt at
timerstats). I have a working prototype that is getting some polishing brushes.
Would you like to wait how this goes?

As to timestamp_clock(): its useful for statistics, but still a minor feature.
It would be unfortuante if that was the stumbling block for my patches. Am I
right that the fix for the issue pointed at by Adrian is to rename those two
occurrences of printk_clock()? Do you want me to submit a patch?