Message ID | 1452221757-14267-1-git-send-email-cardoe@cardoe.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> On 08.01.16 at 03:55, <cardoe@cardoe.com> wrote: > --- a/xen/arch/x86/Kconfig > +++ b/xen/arch/x86/Kconfig > @@ -25,6 +25,18 @@ config ARCH_DEFCONFIG > > menu "Architecture Features" > > +config BIGMEM > + bool "big memory support" > + default n > + ---help--- > + Allows Xen to support up to 123Tb of memory. > + > + This requires growing struct page_info from 32 to 48 bytes as well > + as shrinking the always accessible direct mapped memory range from > + 5Tb to 3.5Tb. Fundamentally okay, but I think the numbers should be dropped (as they could easily become stale, since they reflect in the first case just current state and in the second really just an implementation detail). No strict need to re-submit (can be fixed up upon commit), but I'd like to have your consent since this is going to be under your name. Jan
On 1/8/16 2:50 AM, Jan Beulich wrote: >>>> On 08.01.16 at 03:55, <cardoe@cardoe.com> wrote: >> --- a/xen/arch/x86/Kconfig >> +++ b/xen/arch/x86/Kconfig >> @@ -25,6 +25,18 @@ config ARCH_DEFCONFIG >> >> menu "Architecture Features" >> >> +config BIGMEM >> + bool "big memory support" >> + default n >> + ---help--- >> + Allows Xen to support up to 123Tb of memory. >> + >> + This requires growing struct page_info from 32 to 48 bytes as well >> + as shrinking the always accessible direct mapped memory range from >> + 5Tb to 3.5Tb. > > Fundamentally okay, but I think the numbers should be dropped > (as they could easily become stale, since they reflect in the first > case just current state and in the second really just an > implementation detail). No strict need to re-submit (can be fixed > up upon commit), but I'd like to have your consent since this is > going to be under your name. > > Jan > Yes that's fine. I just copied the original commit message that added big mem support. I'm actually hoping that more people do what you're proposing and provide better detailed messages when they understand how that code works. So thank you!
diff --git a/xen/arch/x86/Kconfig b/xen/arch/x86/Kconfig index 7d2ed96..90b4216 100644 --- a/xen/arch/x86/Kconfig +++ b/xen/arch/x86/Kconfig @@ -25,6 +25,18 @@ config ARCH_DEFCONFIG menu "Architecture Features" +config BIGMEM + bool "big memory support" + default n + ---help--- + Allows Xen to support up to 123Tb of memory. + + This requires growing struct page_info from 32 to 48 bytes as well + as shrinking the always accessible direct mapped memory range from + 5Tb to 3.5Tb. + + If unsure, say N. + endmenu source "common/Kconfig" diff --git a/xen/arch/x86/Rules.mk b/xen/arch/x86/Rules.mk index b76a754..a108d24 100644 --- a/xen/arch/x86/Rules.mk +++ b/xen/arch/x86/Rules.mk @@ -23,7 +23,6 @@ $(call as-insn-check,CFLAGS,CC,".equ \"x\"$$(comma)1", \ '-D__OBJECT_LABEL__=$(subst $(BASEDIR)/,,$(CURDIR))/$$@') shadow-paging ?= y -bigmem ?= n CFLAGS += -mno-red-zone -mno-sse -fpic CFLAGS += -fno-asynchronous-unwind-tables @@ -33,4 +32,3 @@ CFLAGS += -DGCC_HAS_VISIBILITY_ATTRIBUTE endif CFLAGS-$(shadow-paging) += -DCONFIG_SHADOW_PAGING -CFLAGS-$(bigmem) += -DCONFIG_BIGMEM
Convert the bigmem build option to Kconfig. Signed-off-by: Doug Goldstein <cardoe@cardoe.com> --- The test: $ grep CONFIG_BIGMEM .config # CONFIG_BIGMEM is not set $ pahole xen-syms -C page_info .... /* size: 32, cachelines: 1, members: 5 */ <rebuild Xen> $ grep CONFIG_BIGMEM .config CONFIG_BIGMEM=y $ pahole xen-syms -C page_info .... /* size: 48, cachelines: 1, members: 5 */ --- xen/arch/x86/Kconfig | 12 ++++++++++++ xen/arch/x86/Rules.mk | 2 -- 2 files changed, 12 insertions(+), 2 deletions(-)