aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python/bin/stackcollapse-report
diff options
context:
space:
mode:
authorYang Shi <yang.shi@linux.alibaba.com>2019-11-30 17:58:07 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2019-12-01 12:59:10 -0800
commit4afab1cd256e425803374b58702ea86a05b0acf9 (patch)
tree34e8c9bf32216e98ecc336c2fcb420a3966aacb7 /tools/perf/scripts/python/bin/stackcollapse-report
parentmm/shmem.c: make array 'values' static const, makes object smaller (diff)
downloadlinux-4afab1cd256e425803374b58702ea86a05b0acf9.tar.gz
linux-4afab1cd256e425803374b58702ea86a05b0acf9.zip
mm: shmem: use proper gfp flags for shmem_writepage()
The shmem_writepage() uses GFP_ATOMIC to allocate swap cache. GFP_ATOMIC used to mean __GFP_HIGH, but now it means __GFP_HIGH | __GFP_ATOMIC | __GFP_KSWAPD_RECLAIM. However, shmem_writepage() should write out to swap only in response to memory pressure, so __GFP_KSWAPD_RECLAIM looks useless since the caller may be kswapd itself or in direct reclaim already. In addition, XArray node allocations from PF_MEMALLOC contexts could completely exhaust the page allocator, __GFP_NOMEMALLOC stops emergency reserves from being allocated. Here just copy the gfp flags used by add_to_swap(). Hugh: "a cleanup to make the two calls look the same when they don't need to be different (whereas the call from __read_swap_cache_async() rightly uses a lower priority gfp)". Link: http://lkml.kernel.org/r/1572991351-86061-1-git-send-email-yang.shi@linux.alibaba.com Signed-off-by: Yang Shi <yang.shi@linux.alibaba.com> Acked-by: Hugh Dickins <hughd@google.com> Cc: Michal Hocko <mhocko@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions
td>1-1/+3 2008-09-23can: Add documentation for virtual CAN driver usageOliver Hartkopp1-4/+40 2008-09-23tcp: Fix queue traversal in tcp_use_frto().David S. Miller1-0/+2 2008-09-23tcp: Fix order of tests in tcp_retransmit_skb()David S. Miller1-1/+1 2008-09-23ppp_generic: Use skb_peek() in ppp_receive_mp_frame().David S. Miller1-3/+5 2008-09-23neigh: Remove by-hand SKB queue handling.David S. Miller1-13/+8 2008-09-23pkt_sched: Remove the tx queue state check in qdisc_run()Jarek Poplawski1-4/+1 2008-09-23tcp: Use SKB queue handling interfaces instead of by-hand versions.David S. Miller1-25/+15 2008-09-23net: Add skb_queue_walk_from() and skb_queue_walk_from_safe().David S. Miller1-0/+9 2008-09-23net: Add skb_queue_next().David S. Miller1-0/+18 2008-09-23tcp: Use skb_queue_is_last() instead of by-hand version.David S. Miller1-3/+3 2008-09-23net: Add skb_queue_is_last().David S. Miller1-0/+13 2008-09-23usbatm: Use skb_queue_walk_safe() instead of by-hand implementation.David S. Miller1-3/+2 2008-09-23zd1211: Use skb_queue_walk() instead of by-hand implementation.David S. Miller1-1/+1 2008-09-23de4x5: Use skb_queue_head instead of by-hand implementation.David S. Miller1-30/+8 2008-09-22pkt_sched: Check the state of tx_queue in dequeue_skb()Jarek Poplawski1-4/+14 2008-09-22pkt_sched: Always use q->requeue in dev_requeue_skb().David S. Miller1-4/+1 2008-09-22pkt_sched: Make qdisc->gso_skb a list.David S. Miller2-6/+8 2008-09-22sctp: Use skb_queue_walk_safe() and skb_queue_split_tail_init().David S. Miller1-8/+2 2008-09-22net: Fix bus in SKB queue splicing interfaces.David S. Miller1-4/+4 2008-09-22net: network device name ifalias supportStephen Hemminger6-0/+77 2008-09-22usbnet: Use skb_queue_walk_safe() instead of by-hand implementation.David S. Miller1-2/+1