Khalid Aziz wrote...
Thanks for tracking this down. I had not tried a configuration with
CONFIG_HUGETLB_PAGE not set. In my config, I was getting many
multiple definition errors for bunch of other defines from
linux/hugetlb.h. I will look at my config again but chances are I
had something else screwed up in my build since you did not see
those errors. Did you compile with CONFIG_HUGETLB_PAGE set after
including linux/hugetlb.h? If you did, including linux/hugetlb.h
instead of importing just the definition of PageHuge in mm/swap.c
would be the right thing to do.
Yes, one of my configurations has CONFIG_HUGETLB_PAGE, also
CONFIG_NUMA=y, and the kernel built. Could not test it, though.
There still might be other configuration settings that caused the
error messages you've seen. Manually picking both PageHuge definitions
from linux/hugetlb.h should be a safe alternative then, but that's
ugly.
Christoph