kallsyms: add support for relative offsets in kallsyms address table
[deliverable/linux.git] / init / Kconfig
index 5b86082fa238a86462650deb6613772847b70c4e..fd664b3ab99ef79432643ab3e954943e759f81ca 100644 (file)
@@ -964,17 +964,6 @@ config MEMCG_SWAP_ENABLED
          For those who want to have the feature enabled by default should
          select this option (if, for some reason, they need to disable it
          then swapaccount=0 does the trick).
          For those who want to have the feature enabled by default should
          select this option (if, for some reason, they need to disable it
          then swapaccount=0 does the trick).
-config MEMCG_KMEM
-       bool "Memory Resource Controller Kernel Memory accounting"
-       depends on MEMCG
-       depends on SLUB || SLAB
-       help
-         The Kernel Memory extension for Memory Resource Controller can limit
-         the amount of memory used by kernel objects in the system. Those are
-         fundamentally different from the entities handled by the standard
-         Memory Controller, which are page-based, and can be swapped. Users of
-         the kmem extension can use it to guarantee that no group of processes
-         will ever exhaust kernel resources alone.
 
 config BLK_CGROUP
        bool "IO controller"
 
 config BLK_CGROUP
        bool "IO controller"
@@ -1071,6 +1060,11 @@ config CGROUP_FREEZER
          Provides a way to freeze and unfreeze all tasks in a
          cgroup.
 
          Provides a way to freeze and unfreeze all tasks in a
          cgroup.
 
+         This option affects the ORIGINAL cgroup interface. The cgroup2 memory
+         controller includes important in-kernel memory consumers per default.
+
+         If you're using cgroup2, say N.
+
 config CGROUP_HUGETLB
        bool "HugeTLB controller"
        depends on HUGETLB_PAGE
 config CGROUP_HUGETLB
        bool "HugeTLB controller"
        depends on HUGETLB_PAGE
@@ -1182,10 +1176,9 @@ config USER_NS
          to provide different user info for different servers.
 
          When user namespaces are enabled in the kernel it is
          to provide different user info for different servers.
 
          When user namespaces are enabled in the kernel it is
-         recommended that the MEMCG and MEMCG_KMEM options also be
-         enabled and that user-space use the memory control groups to
-         limit the amount of memory a memory unprivileged users can
-         use.
+         recommended that the MEMCG option also be enabled and that
+         user-space use the memory control groups to limit the amount
+         of memory a memory unprivileged users can use.
 
          If unsure, say N.
 
 
          If unsure, say N.
 
@@ -1427,6 +1420,28 @@ config KALLSYMS_ALL
 
           Say N unless you really need all symbols.
 
 
           Say N unless you really need all symbols.
 
+config KALLSYMS_ABSOLUTE_PERCPU
+       bool
+       default X86_64 && SMP
+
+config KALLSYMS_BASE_RELATIVE
+       bool
+       depends on KALLSYMS
+       default !IA64 && !(TILE && 64BIT)
+       help
+         Instead of emitting them as absolute values in the native word size,
+         emit the symbol references in the kallsyms table as 32-bit entries,
+         each containing a relative value in the range [base, base + U32_MAX]
+         or, when KALLSYMS_ABSOLUTE_PERCPU is in effect, each containing either
+         an absolute value in the range [0, S32_MAX] or a relative value in the
+         range [base, base + S32_MAX], where base is the lowest relative symbol
+         address encountered in the image.
+
+         On 64-bit builds, this reduces the size of the address table by 50%,
+         but more importantly, it results in entries whose values are build
+         time constants, and no relocation pass is required at runtime to fix
+         up the entries based on the runtime load address of the kernel.
+
 config PRINTK
        default y
        bool "Enable support for printk" if EXPERT
 config PRINTK
        default y
        bool "Enable support for printk" if EXPERT
This page took 0.028476 seconds and 5 git commands to generate.