Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3ac21ca authored by Josh Triplett's avatar Josh Triplett
Browse files

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: default avatarJosh Triplett <josh@joshtriplett.org>
parent 7d1311b9
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -1537,6 +1537,16 @@ config AIO
	  by some high performance threaded applications. Disabling
	  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
	default y
	bool "Enable PCI quirk workarounds" if EXPERT
+3 −0
Original line number Diff line number Diff line
@@ -156,6 +156,9 @@ cond_syscall(sys_process_vm_writev);
cond_syscall(compat_sys_process_vm_readv);
cond_syscall(compat_sys_process_vm_writev);
cond_syscall(sys_uselib);
cond_syscall(sys_fadvise64);
cond_syscall(sys_fadvise64_64);
cond_syscall(sys_madvise);

/* arch-specific weak syscall entries */
cond_syscall(sys_pciconfig_read);
+5 −2
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@
#

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 \
			   vmalloc.o pagewalk.o pgtable-generic.o

@@ -11,7 +11,7 @@ ifdef CONFIG_CROSS_MEMORY_ATTACH
mmu-$(CONFIG_MMU)	+= process_vm_access.o
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 \
			   readahead.o swap.o truncate.o vmscan.o shmem.o \
			   util.o mmzone.o vmstat.o backing-dev.o \
@@ -28,6 +28,9 @@ else
	obj-y		+= bootmem.o
endif

ifdef CONFIG_MMU
	obj-$(CONFIG_ADVISE_SYSCALLS)	+= fadvise.o madvise.o
endif
obj-$(CONFIG_HAVE_MEMBLOCK) += memblock.o

obj-$(CONFIG_SWAP)	+= page_io.o swap_state.o swapfile.o