mm: Support compiling out madvise and fadvise
Many embedded systems will not need these syscalls, and omitting them saves space. Add a new EXPERT config option CONFIG_ADVISE_SYSCALLS (default y) to support compiling them out. bloat-o-meter: add/remove: 0/3 grow/shrink: 0/0 up/down: 0/-2250 (-2250) function old new delta sys_fadvise64 57 - -57 sys_fadvise64_64 691 - -691 sys_madvise 1502 - -1502 Signed-off-by: Josh Triplett <josh@joshtriplett.org>
This commit is contained in:
parent
7d1311b93e
commit
d3ac21cacc
10
init/Kconfig
10
init/Kconfig
|
@ -1537,6 +1537,16 @@ config AIO
|
||||||
by some high performance threaded applications. Disabling
|
by some high performance threaded applications. Disabling
|
||||||
this option saves about 7k.
|
this option saves about 7k.
|
||||||
|
|
||||||
|
config ADVISE_SYSCALLS
|
||||||
|
bool "Enable madvise/fadvise syscalls" if EXPERT
|
||||||
|
default y
|
||||||
|
help
|
||||||
|
This option enables the madvise and fadvise syscalls, used by
|
||||||
|
applications to advise the kernel about their future memory or file
|
||||||
|
usage, improving performance. If building an embedded system where no
|
||||||
|
applications use these syscalls, you can disable this option to save
|
||||||
|
space.
|
||||||
|
|
||||||
config PCI_QUIRKS
|
config PCI_QUIRKS
|
||||||
default y
|
default y
|
||||||
bool "Enable PCI quirk workarounds" if EXPERT
|
bool "Enable PCI quirk workarounds" if EXPERT
|
||||||
|
|
|
@ -156,6 +156,9 @@ cond_syscall(sys_process_vm_writev);
|
||||||
cond_syscall(compat_sys_process_vm_readv);
|
cond_syscall(compat_sys_process_vm_readv);
|
||||||
cond_syscall(compat_sys_process_vm_writev);
|
cond_syscall(compat_sys_process_vm_writev);
|
||||||
cond_syscall(sys_uselib);
|
cond_syscall(sys_uselib);
|
||||||
|
cond_syscall(sys_fadvise64);
|
||||||
|
cond_syscall(sys_fadvise64_64);
|
||||||
|
cond_syscall(sys_madvise);
|
||||||
|
|
||||||
/* arch-specific weak syscall entries */
|
/* arch-specific weak syscall entries */
|
||||||
cond_syscall(sys_pciconfig_read);
|
cond_syscall(sys_pciconfig_read);
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
mmu-y := nommu.o
|
mmu-y := nommu.o
|
||||||
mmu-$(CONFIG_MMU) := fremap.o gup.o highmem.o madvise.o memory.o mincore.o \
|
mmu-$(CONFIG_MMU) := fremap.o gup.o highmem.o memory.o mincore.o \
|
||||||
mlock.o mmap.o mprotect.o mremap.o msync.o rmap.o \
|
mlock.o mmap.o mprotect.o mremap.o msync.o rmap.o \
|
||||||
vmalloc.o pagewalk.o pgtable-generic.o
|
vmalloc.o pagewalk.o pgtable-generic.o
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ ifdef CONFIG_CROSS_MEMORY_ATTACH
|
||||||
mmu-$(CONFIG_MMU) += process_vm_access.o
|
mmu-$(CONFIG_MMU) += process_vm_access.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
obj-y := filemap.o mempool.o oom_kill.o fadvise.o \
|
obj-y := filemap.o mempool.o oom_kill.o \
|
||||||
maccess.o page_alloc.o page-writeback.o \
|
maccess.o page_alloc.o page-writeback.o \
|
||||||
readahead.o swap.o truncate.o vmscan.o shmem.o \
|
readahead.o swap.o truncate.o vmscan.o shmem.o \
|
||||||
util.o mmzone.o vmstat.o backing-dev.o \
|
util.o mmzone.o vmstat.o backing-dev.o \
|
||||||
|
@ -28,6 +28,9 @@ else
|
||||||
obj-y += bootmem.o
|
obj-y += bootmem.o
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef CONFIG_MMU
|
||||||
|
obj-$(CONFIG_ADVISE_SYSCALLS) += fadvise.o madvise.o
|
||||||
|
endif
|
||||||
obj-$(CONFIG_HAVE_MEMBLOCK) += memblock.o
|
obj-$(CONFIG_HAVE_MEMBLOCK) += memblock.o
|
||||||
|
|
||||||
obj-$(CONFIG_SWAP) += page_io.o swap_state.o swapfile.o
|
obj-$(CONFIG_SWAP) += page_io.o swap_state.o swapfile.o
|
||||||
|
|
Loading…
Reference in New Issue