Tejun Heo
a4ffb67e42
BACKPORT: slub: make sysfs directories for memcg sub-caches optional
...
SLUB creates a per-cache directory under /sys/kernel/slab which hosts a
bunch of debug files. Usually, there aren't that many caches on a
system and this doesn't really matter; however, if memcg is in use, each
cache can have per-cgroup sub-caches. SLUB creates the same directories
for these sub-caches under /sys/kernel/slab/$CACHE/cgroup.
Unfortunately, because there can be a lot of cgroups, active or
draining, the product of the numbers of caches, cgroups and files in
each directory can reach a very high number - hundreds of thousands is
commonplace. Millions and beyond aren't difficult to reach either.
What's under /sys/kernel/slab is primarily for debugging and the
information and control on the a root cache already cover its
sub-caches. While having a separate directory for each sub-cache can be
helpful for development, it doesn't make much sense to pay this amount
of overhead by default.
This patch introduces a boot parameter slub_memcg_sysfs which determines
whether to create sysfs directories for per-memcg sub-caches. It also
adds CONFIG_SLUB_MEMCG_SYSFS_ON which determines the boot parameter's
default value and defaults to 0.
(cherry picked from commit 1663f26df3df7df3720306ca67f5ea8296d68fa1)
[akpm@linux-foundation.org: kset_unregister(NULL) is legal]
Link: http://lkml.kernel.org/r/20170204145203.GB26958@mtj.duckdns.org
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Christoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Bug: 113130132
Change-Id: I36b3b65ad583527c57518aa9f73a97ebd68d01b2
Signed-off-by: Minchan Kim <minchan@google.com>
2018-08-24 10:10:18 +00:00
..
80211
docs-rst: sphinxify 802.11 documentation
2016-10-11 16:19:17 -06:00
ABI
UPSTREAM: zram: add config and doc file for writeback feature
2018-08-23 12:05:07 -07:00
accounting
tools: move accounting tool from Documentation
2016-09-23 13:07:15 -06:00
acpi
Merge branches 'acpi-button', 'acpi-battery' and 'acpi-doc'
2016-10-02 01:40:20 +02:00
aoe
arm
linux-kselftest-4.9-rc1-update
2016-10-14 15:17:12 -07:00
arm64
arm64: Add work around for Arm Cortex-A55 Erratum 1024718
2018-05-16 10:08:42 +02:00
auxdisplay
samples: move auxdisplay example code from Documentation
2016-09-23 11:52:32 -06:00
backlight
blackfin
samples: move blackfin gptimers-example from Documentation
2016-10-10 07:12:02 -06:00
block
ANDROID: mmc: Add CONFIG_MMC_SIMULATE_MAX_SPEED
2017-01-27 13:54:59 -08:00
blockdev
BACKPORT: zram: introduce zram memory tracking
2018-08-23 12:05:07 -07:00
bus-devices
cdrom
cgroup-v1
Three fixes for the docs build, including removing an annoying warning on
2016-08-07 10:23:17 -04:00
cma
connector
samples: connector: from Documentation to samples directory
2016-04-28 07:47:35 -06:00
console
cpu-freq
FROMLIST: cpufreq: Add android's 'interactive' governor
2017-01-31 10:47:32 -08:00
cpuidle
cris
crypto
crypto: doc - Fix typo
2016-05-31 16:41:55 +08:00
dev-tools
mm: kmemleak: avoid using __va() on addresses that don't have a lowmem mapping
2016-10-11 15:06:33 -07:00
development-process
docs-rst: add inter-document cross references
2016-09-21 15:43:09 -06:00
device-mapper
This is the 4.9.104 stable release
2018-05-30 13:19:56 +02:00
devicetree
This is the 4.9.117 stable release
2018-08-03 08:50:05 +02:00
dmaengine
dmaengine: documentation to the new callback mechanism
2016-08-08 08:11:42 +05:30
DocBook
A single commit converting the mac80211 DocBook template over to Sphinx.
2016-10-14 14:11:22 -07:00
driver-api
docs: Don't format internal MPT docs
2016-09-06 09:15:48 -06:00
driver-model
power supply and reset changes for the v4.9 series
2016-10-06 18:21:15 -07:00
early-userspace
EDID
extcon
fault-injection
fb
Documentation: fb: fix spelling mistakes
2016-05-10 12:05:27 +03:00
features
Documentation: MIPS supports HAVE_REGS_AND_STACK_ACCESS_API
2016-10-13 17:19:19 +02:00
filesystems
Merge remote-tracking branch 'origin/upstream-f2fs-stable-linux-4.9.y' into android-4.9
2018-07-30 15:50:42 -07:00
firmware_class
Documentation: fix common spelling mistakes
2016-04-28 07:51:59 -06:00
fmc
fpga
frv
gpio
gpio/board.txt: point to gpiod_set_value
2016-10-20 14:14:11 +02:00
gpu
UPSTREAM: drm/fences: add DOC: for explicit fencing
2017-05-23 15:47:18 -07:00
hid
Documentation: HID: Intel ISH HID document
2016-08-17 11:13:07 +02:00
hwmon
hwmon: (max6650) Allow fan shutdown and initial rpm target
2016-09-08 21:34:17 -07:00
i2c
i2c: Documentation: i2c-topology: fix minor whitespace nit
2016-11-10 21:18:56 +01:00
ia64
selftests: move ia64 tests from Documentation/ia64
2016-09-20 09:58:12 -06:00
ide
iio
iio: Documentation: Correct the path used to create triggers.
2016-10-01 00:49:58 -06:00
infiniband
IB/hfi1: Document new sysfs entries for hfi1 driver
2016-10-02 08:42:19 -04:00
input
Input: ALPS - add V8 protocol documentation
2016-10-04 11:47:02 -07:00
ioctl
BACKPORT: tee: generic TEE subsystem
2017-12-05 14:00:37 +00:00
isdn
ja_JP
Documentatio: HOWTO: remove regression postings info from translations
2016-04-16 10:49:08 -06:00
kbuild
Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild
2016-10-14 14:26:58 -07:00
kdump
Documentation: kdump: Add description of enable multi-cpus support
2016-09-20 18:02:54 -06:00
ko_KR
locking/Documentation: Add Korean translation
2016-08-12 08:24:14 +02:00
laptops
tools: move laptops dslm tool from Documentation
2016-09-23 13:07:21 -06:00
leds
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
2016-10-04 10:25:53 -07:00
livepatch
Documentation: livepatch: add section about arch-specific code
2016-08-18 23:41:56 +02:00
locking
locking/lglock: Remove lglock implementation
2016-09-22 15:25:56 +02:00
m68k
media
videodev2.h: go back to limited range Y'CbCr for SRGB and, ADOBERGB
2017-02-23 17:44:37 +01:00
memory-devices
metag
mic
samples: move mic/mpssd example code from Documentation
2016-09-20 12:38:48 -06:00
mips
misc-devices
samples: move misc-devices/mei example code from Documentation
2016-09-23 11:51:43 -06:00
mmc
mmc: core: Extend sysfs with DSR register
2016-07-25 10:34:51 +02:00
mn10300
mtd
namespaces
netlabel
networking
This is the 4.9.108 stable release
2018-06-13 16:37:10 +02:00
nfc
nios2
nvdimm
libnvdimm, btt: update the usage section in Documentation
2016-06-17 16:23:23 -07:00
nvmem
parisc
PCI
PCI changes for the v4.9 merge window:
2016-10-07 11:46:37 -07:00
pcmcia
tools: move pcmcia crc32hash tool from Documentation
2016-09-23 13:07:27 -06:00
perf
perf: xgene: Add APM X-Gene SoC Performance Monitoring Unit driver
2016-09-15 11:20:55 -07:00
phy
platform
power
power supply and reset changes for the v4.9 series
2016-10-06 18:21:15 -07:00
powerpc
powerpc updates for 4.9
2016-10-07 20:19:31 -07:00
pps
Documentation: pps: fix spelling mistake
2016-04-28 07:23:59 -06:00
prctl
selftests: move prctl tests from Documentation/prctl
2016-09-20 09:09:09 -06:00
pti
ptp
selftests: move ptp tests from Documentation/ptp
2016-09-20 09:54:38 -06:00
rapidio
rapidio/documentation/mport_cdev: add missing parameter description
2016-09-01 17:52:02 -07:00
RCU
kthread: kthread worker API cleanup
2016-10-11 15:06:33 -07:00
s390
s390/Documentation: improve sort command for trace buffer
2016-06-13 15:58:23 +02:00
scheduler
ANDROID: sched/tune: add detailed documentation
2017-01-31 10:46:34 -08:00
scsi
scsi: g_NCR5380: Stop using scsi_module.c
2016-09-29 21:52:43 -04:00
security
f2fs: catch up to v4.14-rc1
2017-10-13 11:27:08 +00:00
serial
Documentation: rs485: Do not define manually the ioctl
2016-08-18 11:08:33 -06:00
sh
sound
ASoC: Updates for v4.8
2016-07-26 10:35:31 +02:00
sphinx
docs: sphinx-extensions: make rstFlatTable work with docutils 0.13
2017-01-09 08:32:18 +01:00
sphinx-static
This is the documentation update pull for the 4.9 merge window.
2016-10-04 13:54:07 -07:00
spi
Doc: update 00-INDEX files to reflect the runnable code move
2016-10-10 07:12:09 -06:00
sysctl
ANDROID: add extra free kbytes tunable
2018-06-04 15:47:24 +00:00
target
target: make close_session optional
2016-05-10 01:19:26 -07:00
thermal
thermal: Add support for hardware-tracked trip points
2016-09-27 14:02:16 +08:00
timers
Doc: update 00-INDEX files to reflect the runnable code move
2016-10-10 07:12:09 -06:00
tpm
tpm: Add documentation for the tpm_vtpm_proxy device driver
2016-06-25 17:26:35 +03:00
trace
UPSTREAM: trace: Update documentation for mono, mono_raw and boot clock
2017-01-27 13:55:48 -08:00
usb
Documentation: tiny typo fix in usb/gadget_multi.txt
2016-06-23 08:09:10 -06:00
virtual
KVM: x86: Add a framework for supporting MSR-based features
2018-08-15 18:14:52 +02:00
vm
Three fixes for the docs build, including removing an annoying warning on
2016-08-07 10:23:17 -04:00
w1
w1: add ability to set (SRAM) and store (EEPROM) configuration for temp sensors like DS18B20
2016-05-01 14:37:49 -07:00
watchdog
linux-kselftest-4.9-rc1-update
2016-10-14 15:17:12 -07:00
wimax
x86
x86/pti: Document fix wrong index
2018-01-23 19:57:10 +01:00
xtensa
xtensa: cleanup MMU setup and kernel layout macros
2016-07-24 06:33:58 +03:00
zh_CN
docs: deprecate kernel-doc-nano-HOWTO.txt
2016-07-20 16:45:37 -06:00
.gitignore
Add .pyc files to .gitignore
2016-06-30 13:07:33 -06:00
00-INDEX
BACKPORT: Documentation: tee subsystem and op-tee driver
2017-12-05 14:00:47 +00:00
adding-syscalls.txt
documentation: trivial typo: adding-syscalls.txt: s/statat/fstatat/
2016-04-18 11:31:49 -06:00
android.txt
ANDROID: pstore: Update Documentation/android.txt
2017-01-27 13:52:20 -08:00
applying-patches.txt
docs: Clean up bare :: lines
2016-09-20 18:46:36 -06:00
assoc_array.txt
atomic_ops.txt
bad_memory.txt
basic_profiling.txt
bcache.txt
bcache: documentation formatting, edited for clarity, stripe alignment notes
2016-06-23 07:58:38 -06:00
binfmt_misc.txt
binfmt_misc: add F option description to documentation
2016-03-30 14:12:22 -07:00
braille-console.txt
bt8xxgpio.txt
btmrvl.txt
BUG-HUNTING
bus-virt-phys-mapping.txt
cachetlb.txt
cgroup-v2.txt
Merge branch 'for-4.6-ns' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2016-03-21 10:05:13 -07:00
Changes
kbuild: verify that $DEPMOD is installed
2018-08-17 20:59:29 +02:00
circular-buffers.txt
clk.txt
Documentation: clk: update file names containing referenced structures
2016-08-14 12:12:36 -06:00
CodeOfConflict
URL changed for Linux Foundation TAB
2016-10-01 00:57:13 -06:00
CodingStyle
docs: Remove space-before-label guidance from CodingStyle
2016-09-21 15:53:31 -06:00
conf.py
docs-rst: fix LaTeX \DURole renewcommand with Sphinx 1.3+
2017-01-12 11:39:32 +01:00
cpu-hotplug.txt
cpu-load.txt
cputopology.txt
topology/sysfs: provide drawer id and siblings attributes
2016-06-13 15:58:27 +02:00
crc32.txt
dcdbas.txt
debugging-modules.txt
debugging-via-ohci1394.txt
dell_rbu.txt
devices.txt
Documentation: update the devices.txt documentation
2016-03-29 10:11:44 -07:00
digsig.txt
DMA-API-HOWTO.txt
Documentation: DMA-API-HOWTO: Fix a typo
2016-09-20 17:58:46 -06:00
DMA-API.txt
dma-mapping: add dma_{map,unmap}_resource
2016-09-26 22:16:41 +05:30
DMA-attributes.txt
dma-mapping: introduce the DMA_ATTR_NO_WARN attribute
2016-10-11 15:06:32 -07:00
dma-buf-sharing.txt
dma-buf: Update docs for SYNC ioctl
2016-03-21 09:26:45 +01:00
DMA-ISA-LPC.txt
docutils.conf
doc-rst: add docutils config file
2016-08-14 11:52:40 -06:00
dontdiff
GCC plugin infrastructure
2016-06-07 22:57:10 +02:00
dynamic-debug-howto.txt
edac.txt
efi-stub.txt
eisa.txt
email-clients.txt
Documentation/email-clients.txt: convert it to ReST markup
2016-09-21 15:41:50 -06:00
flexible-arrays.txt
futex-requeue-pi.txt
gcc-plugins.txt
GCC plugin infrastructure
2016-06-07 22:57:10 +02:00
highuid.txt
HOWTO
docs: Clean up bare :: lines
2016-09-20 18:46:36 -06:00
hw_random.txt
hwspinlock.txt
index.rst
Documentation: Add section about CPU vulnerabilities
2018-08-15 18:14:51 +02:00
init.txt
initrd.txt
Intel-IOMMU.txt
intel_txt.txt
io-mapping.txt
io_ordering.txt
iostats.txt
IPMI.txt
IRQ-affinity.txt
IRQ-domain.txt
Documentation/IRQ-domain.txt: Document irq_domain_create_{linear, tree}
2016-03-31 00:32:59 -06:00
IRQ.txt
irqflags-tracing.txt
isa.txt
Documentation: Add ISA bus driver documentation
2016-05-02 09:32:04 -07:00
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
docs: deprecate kernel-doc-nano-HOWTO.txt
2016-07-20 16:45:37 -06:00
kernel-docs.txt
Documentation/kernel-docs.txt: reorder based on timestamp
2016-09-20 18:54:42 -06:00
kernel-documentation.rst
This is the documentation update pull for the 4.9 merge window.
2016-10-04 13:54:07 -07:00
kernel-parameters.txt
BACKPORT: slub: make sysfs directories for memcg sub-caches optional
2018-08-24 10:10:18 +00:00
kernel-per-CPU-kthreads.txt
Documenation: update cgroup's document path
2016-08-03 15:43:58 -06:00
kobject.txt
kprobes.txt
Documentation: kprobes: Document jprobes stack copying limitations
2016-08-15 10:19:11 -06:00
kref.txt
kselftest.txt
kselftest: kselftest documentation improvement
2016-09-20 08:58:27 -06:00
l1tf.rst
KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry
2018-08-15 18:14:53 +02:00
ldm.txt
local_ops.txt
lockup-watchdogs.txt
logo.gif
logo.txt
lzo.txt
Documentation: lzo: fix spelling mistakes
2016-04-28 07:23:11 -06:00
magic-number.txt
mailbox.txt
Makefile
samples: move blackfin gptimers-example from Documentation
2016-10-10 07:12:02 -06:00
Makefile.sphinx
doc-rst: generic way to build PDF of sub-folders
2016-09-01 08:49:23 -06:00
ManagementStyle
Documentation/HOWTO: add cross-references to other documents
2016-09-20 18:41:04 -06:00
md-cluster.txt
md-cluster: change array_sectors and update size are not supported
2016-05-04 12:39:35 -07:00
md.txt
Documentation: fix wrong value in md.txt
2016-06-23 08:08:36 -06:00
memory-barriers.txt
locking/Documentation: Fix a typo of example result
2016-08-12 08:24:13 +02:00
memory-hotplug.txt
memory_hotplug: introduce CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE
2016-05-19 19:12:14 -07:00
men-chameleon-bus.txt
module-signing.txt
Documentation/module-signing.txt: Note need for version info if reusing a key
2016-07-27 12:38:00 +09:30
mono.txt
nommu-mmap.txt
ntb.txt
numastat.txt
oops-tracing.txt
padata.txt
parport-lowlevel.txt
parport.txt
percpu-rw-semaphore.txt
phy.txt
phy: core: Allow children node to be overridden
2016-04-29 16:39:39 +02:00
pi-futex.txt
pinctrl.txt
pinctrl: Flag strict is a field in struct pinmux_ops
2016-06-23 10:50:10 +02:00
pnp.txt
preempt-locking.txt
printk-formats.txt
lib/vsprintf: Remove atomic-unsafe support for %pCr
2018-07-03 11:23:06 +02:00
pwm.txt
pwm: Update documentation
2016-05-17 14:48:04 +02:00
ramoops.txt
ramoops: use DT reserved-memory bindings
2016-08-05 11:21:36 -07:00
rbtree.txt
remoteproc.txt
remoteproc: Split driver and consumer dereferencing
2016-10-02 22:50:21 -07:00
rfkill.txt
robust-futex-ABI.txt
robust-futexes.txt
Documentation: robust-futexes: fix spelling mistakes
2016-04-28 07:26:41 -06:00
rpmsg.txt
rpmsg: use module_rpmsg_driver in existing drivers and examples
2016-05-06 11:09:01 -07:00
rtc.txt
rtc: implement a sysfs interface for clock offset
2016-03-14 17:08:16 +01:00
SAK.txt
SecurityBugs
Documentation/HOWTO: add cross-references to other documents
2016-09-20 18:41:04 -06:00
serial-console.txt
sgi-ioc4.txt
SM501.txt
smsc_ece1099.txt
spec_ctrl.txt
Documentation/spec_ctrl: Do some minor cleanups
2018-05-22 16:58:02 +02:00
speculation.txt
Documentation: Document array_index_nospec
2018-02-13 12:35:59 +01:00
stable_api_nonsense.txt
Documentation/HOWTO: add cross-references to other documents
2016-09-20 18:41:04 -06:00
stable_kernel_rules.txt
Documentation: stable-kernel-rules: fix stable-tag format
2017-04-12 12:41:15 +02:00
static-keys.txt
jump_labels: Allow array initialisers
2016-09-07 09:41:11 +01:00
SubmitChecklist
docs-rst: add inter-document cross references
2016-09-21 15:43:09 -06:00
SubmittingDrivers
docs-rst: add inter-document cross references
2016-09-21 15:43:09 -06:00
SubmittingPatches
docs-rst: add inter-document cross references
2016-09-21 15:43:09 -06:00
svga.txt
sync.txt
ANDROID: sync: add Documentation/sync.txt
2017-01-27 13:51:38 -08:00
sync_file.txt
Documentation: add doc for sync_file_get_fence()
2016-08-11 15:33:24 +05:30
sysfs-rules.txt
sysrq.txt
Doc: correct the location of sysrq.c
2016-04-28 08:02:36 -06:00
tee.txt
BACKPORT: tee.txt: standardize document format
2018-01-12 16:44:40 +00:00
this_cpu_ops.txt
unaligned-memory-access.txt
unicode.txt
unshare.txt
vfio.txt
VGA-softcursor.txt
video-output.txt
vme_api.txt
vme: Update documentation to match api
2016-08-31 13:20:16 +02:00
volatile-considered-harmful.txt
workqueue.txt
workqueue: Fix a typo in workqueue.txt
2016-07-06 02:37:38 -06:00
xillybus.txt
Documentation: xillybus: fix spelling mistake
2016-04-28 07:44:54 -06:00
xz.txt
zorro.txt