Re: __weak vs ifdef

From: Andrew Morton
Date: Fri Jul 25 2008 - 08:42:02 EST


On Fri, 25 Jul 2008 06:24:54 -0600 Matthew Wilcox <matthew@xxxxxx> wrote:

> On Fri, Jul 25, 2008 at 02:34:55AM -0700, Andrew Morton wrote:
> > We should make arch_pick_mmap_layout __weak and nuke that ifdef.
>
> I strongly disagree. I find it makes it harder to follow code flow
> when __weak functions are involved. Ifdefs are ugly, no question, but
> they're easier to grep for, see when they'll be defined and know which of
> the arch_pick_mmap_layout() functions will be called. __weak certainly
> has its uses (eg the sys_ni_syscall is great) but I find it's becoming
> overused.
>
> My basic point here is that __weak makes the code easier to write but
> harder to read, and we're supposed to be optimising for easier to read.
>

If you see

void __weak arch_foo(...)

and can't immediately work out what's going on then converting it to an
ifdef maze won't save you.

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