Messages in this thread | | | Date | Sat, 10 Sep 2005 15:15:02 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [2/2] Change p[gum]d_clear_* inlines to macros to fix p?d_ERROR |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |