Vladimir Davydov
52383431b3
mm: get rid of __GFP_KMEMCG
...
Currently to allocate a page that should be charged to kmemcg (e.g.
threadinfo), we pass __GFP_KMEMCG flag to the page allocator. The page
allocated is then to be freed by free_memcg_kmem_pages. Apart from
looking asymmetrical, this also requires intrusion to the general
allocation path. So let's introduce separate functions that will
alloc/free pages charged to kmemcg.
The new functions are called alloc_kmem_pages and free_kmem_pages. They
should be used when the caller actually would like to use kmalloc, but
has to fall back to the page allocator for the allocation is large.
They only differ from alloc_pages and free_pages in that besides
allocating or freeing pages they also charge them to the kmem resource
counter of the current memory cgroup.
[sfr@canb.auug.org.au: export kmalloc_order() to modules]
Signed-off-by: Vladimir Davydov <vdavydov@parallels.com>
Acked-by: Greg Thelen <gthelen@google.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.cz>
Cc: Glauber Costa <glommer@gmail.com>
Cc: Christoph Lameter <cl@linux-foundation.org>
Cc: Pekka Enberg <penberg@kernel.org>
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-06-04 16:53:56 -07:00
..
9p.h
9p: trace: use %*ph to dump buffer
2013-05-28 13:42:08 -05:00
asoc.h
ASoC: Remove ASoC level IO tracing
2014-04-22 13:24:24 +01:00
bcache.h
bcache: Kill unused freelist
2014-03-18 12:23:36 -07:00
block.h
blktrace: fix accounting of partially completed requests
2014-03-05 16:11:21 -07:00
btrfs.h
btrfs: Add trace for btrfs_workqueue alloc/destroy
2014-03-20 17:15:28 -07:00
compaction.h
mm: compaction: trace compaction begin and end
2014-01-21 16:19:48 -08:00
context_tracking.h
context_tracking: User/kernel broundary cross trace events
2013-08-14 17:14:48 +02:00
ext3.h
jbd: change journal_invalidatepage() to accept length
2013-05-21 23:26:36 -04:00
ext4.h
ext4: remove temporary shim used to merge COLLAPSE_RANGE and ZERO_RANGE
2014-04-14 23:37:35 -04:00
f2fs.h
Merge branch 'for-3.14/core' of git://git.kernel.dk/linux-block
2014-01-30 11:19:05 -08:00
filelock.h
locks: add some tracepoints in the lease handling code
2014-06-02 08:09:30 -04:00
filemap.h
mm: trace filemap add and del
2013-04-29 15:54:28 -07:00
gfpflags.h
mm: get rid of __GFP_KMEMCG
2014-06-04 16:53:56 -07:00
gpio.h
gpio: add trace events for setting direction and value
2011-05-20 00:40:19 -06:00
host1x.h
gpu: host1x: Add channel support
2013-04-22 12:32:43 +02:00
hswadsp.h
Merge remote-tracking branches 'asoc/topic/ml26124', 'asoc/topic/of', 'asoc/topic/omap', 'asoc/topic/pxa' and 'asoc/topic/rcar' into asoc-next
2014-03-12 23:04:35 +00:00
i2c.h
i2c: Add message transfer tracepoints for SMBUS [ver #2 ]
2014-03-13 22:15:07 +01:00
intel-sst.h
Merge remote-tracking branches 'asoc/topic/ml26124', 'asoc/topic/of', 'asoc/topic/omap', 'asoc/topic/pxa' and 'asoc/topic/rcar' into asoc-next
2014-03-12 23:04:35 +00:00
iommu.h
iommu: Add iommu_error class event to iommu trace
2013-09-25 11:07:04 +02:00
irq.h
rcu: Use softirq to address performance regression
2011-06-14 15:25:39 -07:00
jbd.h
jbd: Write journal superblock with WRITE_FUA after checkpointing
2012-05-15 23:34:37 +02:00
jbd2.h
jbd2: trace when lock_buffer in do_get_write_access takes a long time
2013-04-21 16:47:54 -04:00
kmem.h
mm: get rid of unnecessary overhead of trace_mm_page_alloc_extfrag()
2013-11-13 12:09:10 +09:00
kvm.h
KVM: Drop FOLL_GET in GUP when doing async page fault
2013-10-15 13:43:37 +03:00
lock.h
mce.h
migrate.h
tracing: Fix event header migrate.h to include tracepoint.h
2014-03-07 10:06:09 -05:00
module.h
This contains two fixes.
2014-05-08 14:17:13 -07:00
napi.h
net.h
net: Rename skb->rxhash to skb->hash
2014-03-26 15:58:20 -04:00
nmi.h
x86: Add NMI duration tracepoints
2013-06-23 11:52:58 +02:00
oom.h
mm, oom: change type of oom_score_adj to short
2012-12-11 17:22:27 -08:00
pagemap.h
mm: add tracepoints for LRU activation and insertions
2013-07-03 16:07:31 -07:00
power.h
Merge branches 'pm-qos', 'pm-domains' and 'pm-drivers'
2014-03-20 13:25:36 +01:00
power_cpu_migrate.h
ARM: bL_switcher/trace: Add trace trigger for trace bootstrapping
2013-09-23 18:47:30 -04:00
printk.h
printk/tracing: rework console tracing
2013-04-29 18:28:13 -07:00
random.h
random: convert DEBUG_ENT to tracepoints
2013-10-10 14:32:23 -04:00
ras.h
PCI, AER: Fix severity usage in aer trace event
2013-12-08 15:39:10 +01:00
rcu.h
rcu: Avoid sparse warnings in rcu_nocb_wake trace event
2013-09-23 09:18:17 -07:00
regmap.h
regmap: Add support for discarding parts of the register cache
2013-05-12 18:46:47 +04:00
regulator.h
rpm.h
device.h: audit and cleanup users in main include dir
2012-03-16 10:38:24 -04:00
sched.h
sched: add tracepoints related to NUMA task migration
2014-01-21 16:19:48 -08:00
scsi.h
[SCSI] Include protection operation in SCSI command trace
2011-03-14 18:36:02 -05:00
signal.h
tracing: let trace_signal_generate() report more info, kill overflow_fail/lose_info
2012-01-13 18:48:50 +01:00
skb.h
tracing: Fix event alignment: skb:kfree_skb
2011-03-10 10:34:31 -05:00
sock.h
core: add tracepoints for queueing skb to rcvbuf
2011-06-21 16:06:10 -07:00
spi.h
spi: Provide common spi_message processing loop
2013-10-11 20:09:50 +01:00
sunrpc.h
SUNRPC: Fix oops when trace sunrpc_task events in nfs client
2014-03-07 19:10:08 -05:00
swiotlb.h
tracing/events: Add bounce tracing to swiotbl
2013-10-02 12:53:26 -04:00
syscalls.h
tracepoint: Fix sparse warnings in tracepoint.c
2014-04-09 10:12:11 -04:00
target.h
target: Fix assignment of LUN in tracepoints
2013-10-09 01:54:44 -07:00
task.h
exec: kill bprm->tcomm[], simplify the "basename" logic
2014-04-07 16:36:05 -07:00
timer.h
Merge branch 'timers-nohz-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2013-05-05 13:23:27 -07:00
udp.h
udp: add tracepoints for queueing skb to rcvbuf
2011-06-21 16:06:10 -07:00
v4l2.h
[media] v4l: add stream format for SDR receiver
2014-03-05 14:15:12 -03:00
vmscan.h
shrinker: Kill old ->shrink API.
2013-09-10 18:56:32 -04:00
workqueue.h
workqueue: rename cpu_workqueue to pool_workqueue
2013-02-13 19:29:12 -08:00
writeback.h
Most of the changes were largely clean ups, and some documentation.
2014-04-03 10:26:31 -07:00
xen.h
xen/mmu: Use Xen specific TLB flush instead of the generic one.
2012-10-31 12:38:31 -04:00