No description
Find a file
Vinayak Menon 89666477b2 ANDROID: GKI: mm: fix cma accounting in zone_watermark_ok
Some cases were reported on 3.18 where atomic unmovable allocations
of order 2 fails, but kswapd does not wakeup. And in such cases it
was seen that, when zone_watermark_ok check is  performed to decide
whether to wake up kswapd, there were lot of CMA pages of order 2 and
above. This makes the watermark check succeed resulting in kswapd not
being woken up. But since these atomic unmovable allocations can't come
from CMA region, further atomic allocations keeps failing, without
kswapd trying to reclaim. Usually concurrent movable allocations result
in reclaim and improves the situtation, but the case reported was from
a network test which was resulting in only atomic skb allocations being
attempted. On 3.18 this was fixed by adding a cma free page counter and
accouting the cma free pages properly in watermark calculations.

Later this issue was indirectly fixed by the commit "mm, page_alloc:
only enforce watermarks for order-0 allocations".

But the commit "mm: add cma pcp list" brought the problem back because
it includes MIGRATE_CMA within MIGRATE_PCPTYPES, and thus watermark
check erroneously returns success for !ALLOC_CMA by finding free pages
in cma free list.

Change-Id: Id0e48b5c2f9deea93c5875c10d5ec72bd360df5f
Signed-off-by: Vinayak Menon <vinmenon@codeaurora.org>
Signed-off-by: Charan Teja Reddy <charante@codeaurora.org>

Bug: 150808082
Test: build
Signed-off-by: Suren Baghdasaryan <surenb@google.com>
Change-Id: I232e5379797ae946e15127852d31c2d29ca35b30
2020-03-05 22:23:53 +00:00
arch This is the 4.19.108 stable release 2020-03-05 17:40:55 +01:00
block ANDROID: block: Prevent crypto fallback for wrapped keys 2020-02-27 17:09:12 +00:00
certs
crypto This is the 4.19.103 stable release 2020-02-11 15:05:03 -08:00
Documentation This is the 4.19.108 stable release 2020-03-05 17:40:55 +01:00
drivers This is the 4.19.108 stable release 2020-03-05 17:40:55 +01:00
firmware
fs This is the 4.19.108 stable release 2020-03-05 17:40:55 +01:00
include This is the 4.19.108 stable release 2020-03-05 17:40:55 +01:00
init ANDROID: GKI: build in HVC_DRIVER 2020-03-03 14:28:12 -08:00
ipc This is the 4.19.107 stable release 2020-03-03 07:33:01 +01:00
kernel This is the 4.19.108 stable release 2020-03-05 17:40:55 +01:00
lib FROMLIST: lib: test_stackinit.c: XFAIL switch variable init tests 2020-03-05 17:59:19 +00:00
LICENSES
mm ANDROID: GKI: mm: fix cma accounting in zone_watermark_ok 2020-03-05 22:23:53 +00:00
net This is the 4.19.108 stable release 2020-03-05 17:40:55 +01:00
samples samples/bpf: Don't try to remove user's homedir on clean 2020-02-11 04:34:05 -08:00
scripts ANDROID: kbuild: fix UNUSED_KSYMS_WHITELIST backport 2020-02-28 16:21:09 +00:00
security This is the 4.19.106 stable release 2020-02-24 09:13:25 +01:00
sound This is the 4.19.107 stable release 2020-03-03 07:33:01 +01:00
tools This is the 4.19.108 stable release 2020-03-05 17:40:55 +01:00
usr
virt KVM: Check for a bad hva before dropping into the ghc slow path 2020-03-05 16:42:21 +01:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
abi_gki_aarch64.xml ANDROID: Update ABI representation 2020-03-05 09:12:06 +00:00
abi_gki_aarch64_cuttlefish_whitelist ANDROID: ABI/Whitelist: update for Cuttlefish 2020-02-12 11:11:16 +00:00
abi_gki_aarch64_qcom_whitelist ANDROID: Add ABI Whitelist for qcom 2020-02-28 23:45:43 +00:00
abi_gki_aarch64_whitelist ANDROID: abi_gki_aarch64_whitelist: add module_layout and task_struct 2020-03-05 09:07:15 +00:00
build.config.aarch64
build.config.allmodconfig
build.config.allmodconfig.aarch64
build.config.allmodconfig.x86_64
build.config.common ANDROID: clang: update to 10.0.4 2020-02-19 19:33:36 +00:00
build.config.cuttlefish.aarch64 ANDROID: cf build: Use merge_configs 2020-02-18 21:19:23 +00:00
build.config.cuttlefish.x86_64 ANDROID: cf build: Use merge_configs 2020-02-18 21:19:23 +00:00
build.config.gki ANDROID: gki: Removed cf modules from gki_defconfig 2020-01-31 16:23:38 -08:00
build.config.gki.aarch64 ANDROID: Add ABI Whitelist for qcom 2020-02-28 23:45:43 +00:00
build.config.gki.x86_64
build.config.x86_64
COPYING
CREDITS
cuttlefish.fragment ANDROID: gki: Enable BINFMT_MISC as part of GKI 2020-02-27 20:47:03 +00:00
Kbuild
Kconfig
MAINTAINERS This is the 4.19.107 stable release 2020-03-03 07:33:01 +01:00
Makefile ANDROID: CC_FLAGS_CFI add -fno-sanitize-blacklist 2020-03-05 22:14:40 +00:00
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.