diff for duplicates of <20170531171450.GA10481@cmpxchg.org> diff --git a/a/1.txt b/N1/1.txt index 15941ef..53a557a 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -4,96 +4,3 @@ faulted. They're not charged to any cgroup and we'll deref NULL. Can you include the following fix on top of this patch please? Thanks! --- - -From 0ea9bdb1b425a6c943a65c02164d4ca51815fdc4 Mon Sep 17 00:00:00 2001 -From: Johannes Weiner <hannes@cmpxchg.org> -Date: Wed, 31 May 2017 12:57:28 -0400 -Subject: [PATCH] mm: memcontrol: per-lruvec stats infrastructure fix - -Fix the following crash in the new cgroup stat keeping code: - -Freeing unused kernel memory: 856K -Write protecting the kernel read-only data: 8192k -Freeing unused kernel memory: 1104K -Freeing unused kernel memory: 588K -page:ffffea000005d8c0 count:2 mapcount:1 mapping: (null) index:0x0 -flags: 0x800000000000801(locked|reserved) -raw: 0800000000000801 0000000000000000 0000000000000000 0000000200000000 -raw: ffffea000005d8e0 ffffea000005d8e0 0000000000000000 0000000000000000 -page dumped because: not cgrouped, will crash -BUG: unable to handle kernel NULL pointer dereference at 00000000000004d8 -IP: page_add_file_rmap+0x56/0xf0 -PGD 0 -P4D 0 -Oops: 0000 [#1] SMP -CPU: 0 PID: 1 Comm: init Not tainted 4.12.0-rc2-00065-g390160f076be-dirty #326 -Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-20170228_101828-anatol 04/01/2014 -task: ffff88007d380000 task.stack: ffffc9000031c000 -RIP: 0010:page_add_file_rmap+0x56/0xf0 -RSP: 0000:ffffc9000031fd88 EFLAGS: 00010202 -RAX: 0000000000000000 RBX: ffffea000005d8c0 RCX: 0000000000000006 -RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88007ffde000 -RBP: ffffc9000031fd98 R08: 0000000000000003 R09: 0000000000000000 -R10: ffffc9000031fd18 R11: 0000000000000000 R12: ffff88007ffdfab8 -R13: ffffea000005d8c0 R14: ffff88007c76d508 R15: 0000000000000000 -FS: 0000000000000000(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000 -CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 -CR2: 00000000000004d8 CR3: 000000007c76c000 CR4: 00000000000006b0 -Call Trace: - alloc_set_pte+0xb5/0x2f0 - finish_fault+0x2b/0x50 - __handle_mm_fault+0x3e5/0xb90 - handle_mm_fault+0x284/0x340 - __do_page_fault+0x1fb/0x410 - do_page_fault+0xc/0x10 - page_fault+0x22/0x30 - -This is a special page being faulted, and these will never be charged -to a cgroup. Assume the root cgroup for uncharged pages to fix this. - -Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> ---- - include/linux/memcontrol.h | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h -index a282eb2a6cc3..bea6f08e9e16 100644 ---- a/include/linux/memcontrol.h -+++ b/include/linux/memcontrol.h -@@ -585,18 +585,26 @@ static inline void mod_lruvec_state(struct lruvec *lruvec, - static inline void __mod_lruvec_page_state(struct page *page, - enum node_stat_item idx, int val) - { -+ struct mem_cgroup *memcg; - struct lruvec *lruvec; - -- lruvec = mem_cgroup_lruvec(page_pgdat(page), page->mem_cgroup); -+ /* Special pages in the VM aren't charged, use root */ -+ memcg = page->mem_cgroup ? : root_mem_cgroup; -+ -+ lruvec = mem_cgroup_lruvec(page_pgdat(page), memcg); - __mod_lruvec_state(lruvec, idx, val); - } - - static inline void mod_lruvec_page_state(struct page *page, - enum node_stat_item idx, int val) - { -+ struct mem_cgroup *memcg; - struct lruvec *lruvec; - -- lruvec = mem_cgroup_lruvec(page_pgdat(page), page->mem_cgroup); -+ /* Special pages in the VM aren't charged, use root */ -+ memcg = page->mem_cgroup ? : root_mem_cgroup; -+ -+ lruvec = mem_cgroup_lruvec(page_pgdat(page), memcg); - mod_lruvec_state(lruvec, idx, val); - } - --- -2.13.0 - --- -To unsubscribe, send a message with 'unsubscribe linux-mm' in -the body to majordomo@kvack.org. For more info on Linux MM, -see: http://www.linux-mm.org/ . -Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N1/content_digest index 1e4f66d..fdd7498 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -19,99 +19,6 @@ "\n" "Can you include the following fix on top of this patch please? Thanks!\n" "\n" - "---\n" - "\n" - "From 0ea9bdb1b425a6c943a65c02164d4ca51815fdc4 Mon Sep 17 00:00:00 2001\n" - "From: Johannes Weiner <hannes@cmpxchg.org>\n" - "Date: Wed, 31 May 2017 12:57:28 -0400\n" - "Subject: [PATCH] mm: memcontrol: per-lruvec stats infrastructure fix\n" - "\n" - "Fix the following crash in the new cgroup stat keeping code:\n" - "\n" - "Freeing unused kernel memory: 856K\n" - "Write protecting the kernel read-only data: 8192k\n" - "Freeing unused kernel memory: 1104K\n" - "Freeing unused kernel memory: 588K\n" - "page:ffffea000005d8c0 count:2 mapcount:1 mapping: (null) index:0x0\n" - "flags: 0x800000000000801(locked|reserved)\n" - "raw: 0800000000000801 0000000000000000 0000000000000000 0000000200000000\n" - "raw: ffffea000005d8e0 ffffea000005d8e0 0000000000000000 0000000000000000\n" - "page dumped because: not cgrouped, will crash\n" - "BUG: unable to handle kernel NULL pointer dereference at 00000000000004d8\n" - "IP: page_add_file_rmap+0x56/0xf0\n" - "PGD 0\n" - "P4D 0\n" - "Oops: 0000 [#1] SMP\n" - "CPU: 0 PID: 1 Comm: init Not tainted 4.12.0-rc2-00065-g390160f076be-dirty #326\n" - "Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.2-20170228_101828-anatol 04/01/2014\n" - "task: ffff88007d380000 task.stack: ffffc9000031c000\n" - "RIP: 0010:page_add_file_rmap+0x56/0xf0\n" - "RSP: 0000:ffffc9000031fd88 EFLAGS: 00010202\n" - "RAX: 0000000000000000 RBX: ffffea000005d8c0 RCX: 0000000000000006\n" - "RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88007ffde000\n" - "RBP: ffffc9000031fd98 R08: 0000000000000003 R09: 0000000000000000\n" - "R10: ffffc9000031fd18 R11: 0000000000000000 R12: ffff88007ffdfab8\n" - "R13: ffffea000005d8c0 R14: ffff88007c76d508 R15: 0000000000000000\n" - "FS: 0000000000000000(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000\n" - "CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n" - "CR2: 00000000000004d8 CR3: 000000007c76c000 CR4: 00000000000006b0\n" - "Call Trace:\n" - " alloc_set_pte+0xb5/0x2f0\n" - " finish_fault+0x2b/0x50\n" - " __handle_mm_fault+0x3e5/0xb90\n" - " handle_mm_fault+0x284/0x340\n" - " __do_page_fault+0x1fb/0x410\n" - " do_page_fault+0xc/0x10\n" - " page_fault+0x22/0x30\n" - "\n" - "This is a special page being faulted, and these will never be charged\n" - "to a cgroup. Assume the root cgroup for uncharged pages to fix this.\n" - "\n" - "Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>\n" - "---\n" - " include/linux/memcontrol.h | 12 ++++++++++--\n" - " 1 file changed, 10 insertions(+), 2 deletions(-)\n" - "\n" - "diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h\n" - "index a282eb2a6cc3..bea6f08e9e16 100644\n" - "--- a/include/linux/memcontrol.h\n" - "+++ b/include/linux/memcontrol.h\n" - "@@ -585,18 +585,26 @@ static inline void mod_lruvec_state(struct lruvec *lruvec,\n" - " static inline void __mod_lruvec_page_state(struct page *page,\n" - " \t\t\t\t\t enum node_stat_item idx, int val)\n" - " {\n" - "+\tstruct mem_cgroup *memcg;\n" - " \tstruct lruvec *lruvec;\n" - " \n" - "-\tlruvec = mem_cgroup_lruvec(page_pgdat(page), page->mem_cgroup);\n" - "+\t/* Special pages in the VM aren't charged, use root */\n" - "+\tmemcg = page->mem_cgroup ? : root_mem_cgroup;\n" - "+\n" - "+\tlruvec = mem_cgroup_lruvec(page_pgdat(page), memcg);\n" - " \t__mod_lruvec_state(lruvec, idx, val);\n" - " }\n" - " \n" - " static inline void mod_lruvec_page_state(struct page *page,\n" - " \t\t\t\t\t enum node_stat_item idx, int val)\n" - " {\n" - "+\tstruct mem_cgroup *memcg;\n" - " \tstruct lruvec *lruvec;\n" - " \n" - "-\tlruvec = mem_cgroup_lruvec(page_pgdat(page), page->mem_cgroup);\n" - "+\t/* Special pages in the VM aren't charged, use root */\n" - "+\tmemcg = page->mem_cgroup ? : root_mem_cgroup;\n" - "+\n" - "+\tlruvec = mem_cgroup_lruvec(page_pgdat(page), memcg);\n" - " \tmod_lruvec_state(lruvec, idx, val);\n" - " }\n" - " \n" - "-- \n" - "2.13.0\n" - "\n" - "--\n" - "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" - "the body to majordomo@kvack.org. For more info on Linux MM,\n" - "see: http://www.linux-mm.org/ .\n" - "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" + --- -b49a97a6e75268b6de2a84206fdb44afd3405f7110470f5b512db556a294eee5 +f78f560cf4c0960073fe91fc89c1dd4322b8aa1ff4ed0fd5a56bd047a74b43d3
diff --git a/a/1.txt b/N2/1.txt index 15941ef..2fed593 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -5,7 +5,7 @@ Can you include the following fix on top of this patch please? Thanks! --- -From 0ea9bdb1b425a6c943a65c02164d4ca51815fdc4 Mon Sep 17 00:00:00 2001 +>From 0ea9bdb1b425a6c943a65c02164d4ca51815fdc4 Mon Sep 17 00:00:00 2001 From: Johannes Weiner <hannes@cmpxchg.org> Date: Wed, 31 May 2017 12:57:28 -0400 Subject: [PATCH] mm: memcontrol: per-lruvec stats infrastructure fix @@ -91,9 +91,3 @@ index a282eb2a6cc3..bea6f08e9e16 100644 -- 2.13.0 - --- -To unsubscribe, send a message with 'unsubscribe linux-mm' in -the body to majordomo@kvack.org. For more info on Linux MM, -see: http://www.linux-mm.org/ . -Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N2/content_digest index 1e4f66d..5a86ce0 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -21,7 +21,7 @@ "\n" "---\n" "\n" - "From 0ea9bdb1b425a6c943a65c02164d4ca51815fdc4 Mon Sep 17 00:00:00 2001\n" + ">From 0ea9bdb1b425a6c943a65c02164d4ca51815fdc4 Mon Sep 17 00:00:00 2001\n" "From: Johannes Weiner <hannes@cmpxchg.org>\n" "Date: Wed, 31 May 2017 12:57:28 -0400\n" "Subject: [PATCH] mm: memcontrol: per-lruvec stats infrastructure fix\n" @@ -106,12 +106,6 @@ " }\n" " \n" "-- \n" - "2.13.0\n" - "\n" - "--\n" - "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" - "the body to majordomo@kvack.org. For more info on Linux MM,\n" - "see: http://www.linux-mm.org/ .\n" - "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" + 2.13.0 -b49a97a6e75268b6de2a84206fdb44afd3405f7110470f5b512db556a294eee5 +647a8a79657d9eabef93f7cf9d2fed7d9320735a4d5e44532bbb1064b0cff45f
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.