Re: [2/2] Change p[gum]d_clear_* inlines to macros to fix p?d_ERROR

From: Hugh Dickins
Date: Sat Sep 10 2005 - 09:17:03 EST


On Sat, 10 Sep 2005, Andi Kleen wrote:

> Change p[gum]d_clear_* inlines to macros to fix p?d_ERROR
>
> When this code was refactored by Hugh it was moved out of the actual
> functions into these inlines. The problem is that pgd_ERROR
> uses __FUNCTION__ and __LINE__ to show where the error happened,
> and with the inline that is pretty meaningless now because
> it's the same for all callers.
>
> Change them to be macros to avoid this problem

Please don't. It adds much less than I misremember (only 550 bytes
to my i386 PAE config), but even so it's a waste of space. If you
really believe information is going missing there, just put a WARN_ON(1)
into p[gum]d_clear_bad in mm/memory.c.

(And remove the __FUNCTION__ and __LINE__ from the p[gum]d_ERRORs in all
the architectures if you're very industrious - I was too lazy for that.)

But I'm afraid that 95% of the cases will just turn out to be from
unmap_page_range below exit_mmap, and even the other 5% will just tell
when the corruption was first observed, giving no hint of what caused
it sometime earlier on.

(Of course, I was emboldened to make those changes because the messages
had never been seen in living memory, beyond our own private development
screwups. They started appearing just around the time I changed them.)

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