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

From: Martin Peschke
Date: Mon Jun 04 2007 - 19:52:46 EST


Andrew Morton wrote:
On Sat, 2 Jun 2007 19:14:25 +0200
Adrian Bunk <bunk@xxxxxxxxx> 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?

-
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/