diff options
author | J. Bruce Fields <bfields@redhat.com> | 2020-05-21 10:58:15 -0400 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2020-05-21 10:58:15 -0400 |
commit | 6670ee2ef219ac9e1c836a277dda0c949ad8b1ff (patch) | |
tree | 0eee3d97941caab0bc85f93a7653b0cfd4abf51b /mm/page_alloc.c | |
parent | 746c6237ece641da79df09abcf87bc29f6f9665b (diff) | |
parent | f2453978a4f2ddb1938fa80e9bf0c9d6252bd5f8 (diff) | |
download | kernel_replicant_linux-6670ee2ef219ac9e1c836a277dda0c949ad8b1ff.tar.gz kernel_replicant_linux-6670ee2ef219ac9e1c836a277dda0c949ad8b1ff.tar.bz2 kernel_replicant_linux-6670ee2ef219ac9e1c836a277dda0c949ad8b1ff.zip |
Merge branch 'nfsd-5.8' of git://linux-nfs.org/~cel/cel-2.6 into for-5.8-incoming
Highlights of this series:
* Remove serialization of sending RPC/RDMA Replies
* Convert the TCP socket send path to use xdr_buf::bvecs (pre-requisite for
RPC-on-TLS)
* Fix svcrdma backchannel sendto return code
* Convert a number of dprintk call sites to use tracepoints
* Fix the "suggest braces around empty body in an 'else' statement" warning
Diffstat (limited to 'mm/page_alloc.c')
-rw-r--r-- | mm/page_alloc.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 69827d4fa052..13cc653122b7 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -1607,6 +1607,7 @@ void set_zone_contiguous(struct zone *zone) if (!__pageblock_pfn_to_page(block_start_pfn, block_end_pfn, zone)) return; + cond_resched(); } /* We confirm that there is no hole */ @@ -2400,6 +2401,14 @@ static inline void boost_watermark(struct zone *zone) if (!watermark_boost_factor) return; + /* + * Don't bother in zones that are unlikely to produce results. + * On small machines, including kdump capture kernels running + * in a small area, boosting the watermark can cause an out of + * memory situation immediately. + */ + if ((pageblock_nr_pages * 4) > zone_managed_pages(zone)) + return; max_boost = mult_frac(zone->_watermark[WMARK_HIGH], watermark_boost_factor, 10000); |