Re: [PATCH -v2 -mm] memcg: do not trigger OOM from add_to_page_cache_locked

2012-11-28 Thread Hugh Dickins
On Wed, 28 Nov 2012, Michal Hocko wrote: > From e21bb704947e9a477ec1df9121575c606dbfcb52 Mon Sep 17 00:00:00 2001 > From: Michal Hocko > Date: Wed, 28 Nov 2012 17:46:32 +0100 > Subject: [PATCH] memcg: do not trigger OOM from add_to_page_cache_locked > > memcg oom killer might deadlock if the proc

Re: BUG_ON(inode->i_blocks);

2012-11-28 Thread Hugh Dickins
On Tue, 27 Nov 2012, Dave Jones wrote: > Hugh, > > We had a user report hitting the BUG_ON at the end of shmem_evict_inode. > I see in 3.7 you changed this to a WARN instead. > > Does the trace below match the one you described chasing in commit > 0f3c42f522dc1ad7e27affc0a4aa8c790bce0a66 ? The

Re: [PATCH 1/3] balancenuma: put page if avoid migrating page

2012-11-28 Thread Hugh Dickins
On Tue, 27 Nov 2012, Mel Gorman wrote: > On Tue, Nov 27, 2012 at 02:07:05PM +, Mel Gorman wrote: > > On Tue, Nov 27, 2012 at 09:23:59PM +0800, Hillf Danton wrote: > > > If we have to avoid migrating to a node that is nearly full, put page > > > and return zero. > > > > > > Signed-off-by: Hillf

Re: [patch] mm, memcg: avoid unnecessary function call when memcg is disabled

2012-11-28 Thread Hugh Dickins
On Wed, 21 Nov 2012, Michal Hocko wrote: > On Tue 20-11-12 13:49:32, Andrew Morton wrote: > > On Mon, 19 Nov 2012 17:44:34 -0800 (PST) > > David Rientjes wrote: > > > > > While profiling numa/core v16 with cgroup_disable=memory on the command > > > line, I noticed mem_cgroup_count_vm_event() sti

[PATCH] tmpfs: support SEEK_DATA and SEEK_HOLE (reprise)

2012-11-28 Thread Hugh Dickins
e !PageUptodate-ness of pages fallocated but still unwritten). [a...@linux-foundation.org: fix warning with CONFIG_TMPFS=n] Signed-off-by: Hugh Dickins --- mm/shmem.c | 92 ++- 1 file changed, 91 insertions(+), 1 deletion(-) --- 3.7-rc7/mm/shme

Re: [PATCH] tmpfs: support SEEK_DATA and SEEK_HOLE (reprise)

2012-11-28 Thread Hugh Dickins
On Thu, 29 Nov 2012, Jaegeuk Hanse wrote: > On Wed, Nov 28, 2012 at 05:22:03PM -0800, Hugh Dickins wrote: > >Revert 3.5's f21f8062201f ("tmpfs: revert SEEK_DATA and SEEK_HOLE") > >to reinstate 4fb5ef089b28 ("tmpfs: support SEEK_DATA and SEEK_HOLE"), &

Re: [PATCH] tmpfs: support SEEK_DATA and SEEK_HOLE (reprise)

2012-11-28 Thread Hugh Dickins
On Thu, 29 Nov 2012, Dave Chinner wrote: > On Wed, Nov 28, 2012 at 05:22:03PM -0800, Hugh Dickins wrote: > > Revert 3.5's f21f8062201f ("tmpfs: revert SEEK_DATA and SEEK_HOLE") > > to reinstate 4fb5ef089b28 ("tmpfs: support SEEK_DATA and SEEK_HOLE"), &g

Re: [PATCH] tmpfs: support SEEK_DATA and SEEK_HOLE (reprise)

2012-11-29 Thread Hugh Dickins
On Thu, 29 Nov 2012, Andrew Morton wrote: > On Wed, 28 Nov 2012 17:22:03 -0800 (PST) > Hugh Dickins wrote: > > > +/* > > + * llseek SEEK_DATA or SEEK_HOLE through the radix_tree. > > + */ > > +static pgoff_t shmem_seek_hole_d

Re: [PATCH] idr: fix a subtle bug in idr_get_next()

2013-02-03 Thread Hugh Dickins
On Sat, 2 Feb 2013, Randy Dunlap wrote: > On 02/02/13 15:11, Tejun Heo wrote: > > On Sat, Feb 02, 2013 at 03:10:48PM -0800, Tejun Heo wrote: > >> Fix it by ensuring proceeding to the next slot doesn't carry over the > >> unaligned offset - ie. use round_up(id + 1, slot_distance) instead of > >> id

Re: Questin about swap_slot free and invalidate page

2013-02-03 Thread Hugh Dickins
On Thu, 31 Jan 2013, Minchan Kim wrote: > When I reviewed zswap, I was curious about frontswap_store. > It said following as. > > * If frontswap already contains a page with matching swaptype and > * offset, the frontswap implementation may either overwrite the data and > * return success or i

Re: [patch] mm: shmem: use new radix tree iterator

2013-02-03 Thread Hugh Dickins
On Fri, 1 Feb 2013, Johannes Weiner wrote: > In shmem_find_get_pages_and_swap, use the faster radix tree iterator > construct from 78c1d78 "radix-tree: introduce bit-optimized iterator". > > Signed-off-by: Johannes Weiner Yes, that looks fine, and is testing out fine,

Re: [patch] mm: shmem: use new radix tree iterator

2013-02-03 Thread Hugh Dickins
On Sat, 2 Feb 2013, Konstantin Khlebnikov wrote: > Johannes Weiner wrote: > > In shmem_find_get_pages_and_swap, use the faster radix tree iterator > > construct from 78c1d78 "radix-tree: introduce bit-optimized iterator". > > > > Signed-off-by: Johannes Weiner > > Hmm, ACK. shmem_unuse_inode() al

[PATCH] memcg: stop warning on memcg_propagate_kmem

2013-02-03 Thread Hugh Dickins
twards. Signed-off-by: Hugh Dickins --- mm/memcontrol.c |4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- 3.8-rc6/mm/memcontrol.c 2012-12-22 09:43:27.628015582 -0800 +++ linux/mm/memcontrol.c 2013-02-02 16:56:06.188325771 -0800 @@ -4969,6 +4969,7 @@ out:

Re: boot warnings due to swap: make each swap partition have one address_space

2013-02-03 Thread Hugh Dickins
On Wed, 30 Jan 2013, Shaohua Li wrote: > On Sun, Jan 27, 2013 at 01:40:40PM -0800, Hugh Dickins wrote: > > > > I'm glad Minchan has now pointed you to Rik's posting of two years ago: > > I think there are more important changes to be made in that direction. >

[PATCH] tmpfs: add support for read_iter and write_iter

2013-02-03 Thread Hugh Dickins
Convert tmpfs do_shmem_file_read() to shmem_file_read_iter(). Make file_read_iter_actor() global so tmpfs can use it too: delete file_read_actor(), which was made global in 2.4.4 for use by tmpfs. Replace tmpfs generic_file_aio_write() by generic_file_write_iter(). Signed-off-by: Hugh Dickins

Re: [PATCH v2] printk: Avoid softlockups in console_unlock()

2013-02-06 Thread Hugh Dickins
On Wed, 6 Feb 2013, Jan Kara wrote: > On Wed 06-02-13 09:58:48, David Rientjes wrote: > > On Wed, 6 Feb 2013, Jan Kara wrote: > > > > > Yes, I noticed that thread just yesterday and also though that using > > > similar trick might be viable. I'll experiment if we could use the same > > > method

Re: [PATCH 1/11] ksm: allow trees per NUMA node

2013-02-07 Thread Hugh Dickins
On Tue, 5 Feb 2013, Mel Gorman wrote: > On Fri, Jan 25, 2013 at 05:54:53PM -0800, Hugh Dickins wrote: > > From: Petr Holasek > > > > Introduces new sysfs boolean knob /sys/kernel/mm/ksm/merge_across_nodes > > which control merging pages across different numa nodes.

Re: [PATCH 4/11] ksm: reorganize ksm_check_stable_tree

2013-02-07 Thread Hugh Dickins
On Tue, 5 Feb 2013, Mel Gorman wrote: > On Fri, Jan 25, 2013 at 05:59:35PM -0800, Hugh Dickins wrote: > > Memory hotremove's ksm_check_stable_tree() is pitifully inefficient > > (restarting whenever it finds a stale node to remove), but rearrange > > so that at least it d

Re: [PATCH 5/11] ksm: get_ksm_page locked

2013-02-07 Thread Hugh Dickins
On Tue, 5 Feb 2013, Mel Gorman wrote: > On Fri, Jan 25, 2013 at 06:00:50PM -0800, Hugh Dickins wrote: > > In some places where get_ksm_page() is used, we need the page to be locked. > > > > When KSM migration is fully enabled, we shall want that to make sure that > > th

Re: [PATCH 6/11] ksm: remove old stable nodes more thoroughly

2013-02-08 Thread Hugh Dickins
On Tue, 5 Feb 2013, Mel Gorman wrote: > On Fri, Jan 25, 2013 at 06:01:59PM -0800, Hugh Dickins wrote: > > Switching merge_across_nodes after running KSM is liable to oops on stale > > nodes still left over from the previous stable tree. It's not something > > that pe

Re: [PATCH 7/11] ksm: make KSM page migration possible

2013-02-08 Thread Hugh Dickins
n Tue, 5 Feb 2013, Mel Gorman wrote: > On Fri, Jan 25, 2013 at 06:03:31PM -0800, Hugh Dickins wrote: > > KSM page migration is already supported in the case of memory hotremove, > > which takes the ksm_thread_mutex across all its migrations to keep life > > simple. >

Re: [PATCH 11/11] ksm: stop hotremove lockdep warning

2013-02-11 Thread Hugh Dickins
On Fri, 8 Feb 2013, Gerald Schaefer wrote: > On Fri, 25 Jan 2013 18:10:18 -0800 (PST) > Hugh Dickins wrote: > > > Complaints are rare, but lockdep still does not understand the way > > ksm_memory_callback(MEM_GOING_OFFLINE) takes ksm_thread_mutex, and > > holds it un

Re: Debugging Thinkpad T430s occasional suspend failure.

2013-02-12 Thread Hugh Dickins
On Tue, 12 Feb 2013, Dave Jones wrote: > My Thinkpad T430s suspend/resumes fine most of the time. But every so often > (like one in ten times or so), as soon as I suspend, I get a black screen, > and a blinking power button. > > (Note: Not the capslock lights like when we panic, this laptop 'conv

Re: Debugging Thinkpad T430s occasional suspend failure.

2013-02-12 Thread Hugh Dickins
On Tue, 12 Feb 2013, Dave Jones wrote: > On Tue, Feb 12, 2013 at 04:26:22PM -0800, Hugh Dickins wrote: > > On Tue, 12 Feb 2013, Dave Jones wrote: > > > > > My Thinkpad T430s suspend/resumes fine most of the time. But every so > often > > > (like one in te

Re: [PATCH] THP: Use explicit memory barrier

2013-04-02 Thread Hugh Dickins
On Tue, 2 Apr 2013, Minchan Kim wrote: > On Mon, Apr 01, 2013 at 04:35:38PM -0700, David Rientjes wrote: > > On Mon, 1 Apr 2013, Minchan Kim wrote: > > > > > __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's > > > spinlock for making sure that clear_huge_page write become visible >

RE: [PATCHv2, RFC 20/30] ramfs: enable transparent huge page cache

2013-04-02 Thread Hugh Dickins
On Tue, 2 Apr 2013, Kirill A. Shutemov wrote: > Kirill A. Shutemov wrote: > > From: "Kirill A. Shutemov" > > > > ramfs is the most simple fs from page cache point of view. Let's start > > transparent huge page cache enabling here. > > > > For now we allocate only non-movable huge page. It's not

[PATCH] mm: prevent mmap_cache race in find_vma()

2013-04-04 Thread Hugh Dickins
ge_add_new_anon_rmap+0xc2/0x168 Thanks to Jakub Jelinek for his insight on gcc and helping to track this down. Signed-off-by: Jan Stancek Acked-by: David Rientjes Signed-off-by: Hugh Dickins Cc: sta...@vger.kernel.org --- This is Jan's valuable patch, posted a couple of days ago, which then t

Re: [PATCH] mm: prevent mmap_cache race in find_vma()

2013-04-04 Thread Hugh Dickins
On Thu, 4 Apr 2013, Linus Torvalds wrote: > On Thu, Apr 4, 2013 at 11:35 AM, Hugh Dickins wrote: > > > > find_vma() can be called by multiple threads with read lock > > held on mm->mmap_sem and any of them can update mm->mmap_cache. > > Prevent compiler from re

Re: [PATCH 0/11] ksm: NUMA trees and page migration

2013-01-28 Thread Hugh Dickins
On Mon, 28 Jan 2013, Andrew Morton wrote: > On Fri, 25 Jan 2013 17:53:10 -0800 (PST) > Hugh Dickins wrote: > > > Here's a KSM series > > Sanity check: do you have a feeling for how useful KSM is? > Performance/space improvements for typical (or atypical) work

Re: [PATCH 1/11] ksm: allow trees per NUMA node

2013-01-28 Thread Hugh Dickins
On Mon, 28 Jan 2013, Andrew Morton wrote: > On Fri, 25 Jan 2013 17:54:53 -0800 (PST) > Hugh Dickins wrote: > > > --- mmotm.orig/Documentation/vm/ksm.txt 2013-01-25 14:36:31.724205455 > > -0800 > > +++ mmotm/Documentation/vm/ksm.txt 2013-01-25 14:36:38.60820561

Re: [PATCH 1/11] ksm: allow trees per NUMA node

2013-01-28 Thread Hugh Dickins
On Mon, 28 Jan 2013, Andrew Morton wrote: > On Fri, 25 Jan 2013 17:54:53 -0800 (PST) > Hugh Dickins wrote: > > > +/* Zeroed when merging across nodes is not allowed */ > > +static unsigned int ksm_merge_across_nodes = 1; > > I spose this should be __read_mostly. If

Re: [PATCH 3/11] ksm: trivial tidyups

2013-01-28 Thread Hugh Dickins
On Mon, 28 Jan 2013, Andrew Morton wrote: > On Fri, 25 Jan 2013 17:58:11 -0800 (PST) > Hugh Dickins wrote: > > > +#ifdef CONFIG_NUMA > > +#define NUMA(x)(x) > > +#define DO_NUMA(x) (x) > > Did we consider > > #define DO_NUMA do { (x) }

Re: [PATCH 6/11] ksm: remove old stable nodes more thoroughly

2013-01-28 Thread Hugh Dickins
On Mon, 28 Jan 2013, Andrew Morton wrote: > On Fri, 25 Jan 2013 18:01:59 -0800 (PST) > Hugh Dickins wrote: > > > +static int remove_all_stable_nodes(void) > > +{ > > + struct stable_node *stable_node; > > + int nid; > > + int err = 0; > > +

Re: [PATCH] mm: Rename page struct field helpers

2013-01-28 Thread Hugh Dickins
On Thu, 24 Jan 2013, Mel Gorman wrote: > The function names page_xchg_last_nid(), page_last_nid() and > reset_page_last_nid() were judged to be inconsistent so rename them > to a struct_field_op style pattern. As it looked jarring to have > reset_page_mapcount() and page_nid_reset_last() beside ea

Re: [PATCH, RFC 00/16] Transparent huge page cache

2013-01-28 Thread Hugh Dickins
On Mon, 28 Jan 2013, Kirill A. Shutemov wrote: > From: "Kirill A. Shutemov" > > Here's first steps towards huge pages in page cache. > > The intend of the work is get code ready to enable transparent huge page > cache for the most simple fs -- ramfs. > > It's not yet near feature-complete. It o

Re: [PATCH] mm: Rename page struct field helpers

2013-01-30 Thread Hugh Dickins
t; Hugh found this unhelpful and suggested a rename of page_xchg_last_nid to > keep with a verb_struct_field naming pattern. > > This patch replaces mm-rename-page-struct-field-helpers.patch. > > Suggested-by: Hugh Dickins > Signed-off-by: Mel Gorman FWIW looks just ri

Re: [PATCH, RFC 00/16] Transparent huge page cache

2013-01-30 Thread Hugh Dickins
On Tue, 29 Jan 2013, Kirill A. Shutemov wrote: > Hugh Dickins wrote: > > On Mon, 28 Jan 2013, Kirill A. Shutemov wrote: > > > From: "Kirill A. Shutemov" > > > > > > Here's first steps towards huge pages in page cache. > > > > >

Re: [PATCH 2/3] mm: accelerate mm_populate() treatment of THP pages

2013-01-30 Thread Hugh Dickins
On Wed, 30 Jan 2013, Michel Lespinasse wrote: > This change adds a page_mask argument to follow_page. > > follow_page sets *page_mask to HPAGE_PMD_NR - 1 when it encounters a THP page, > and to 0 in other cases. > > __get_user_pages() makes use of this in order to accelerate populating > THP ran

[PATCH 0/11] ksm: NUMA trees and page migration

2013-01-25 Thread Hugh Dickins
Here's a KSM series, based on mmotm 2013-01-23-17-04: starting with Petr's v7 "KSM: numa awareness sysfs knob"; then fixing the two issues we had with that, fully enabling KSM page migration on the way. (A different kind of KSM/NUMA issue which I've certainly not begun to address here: when KSM pa

[PATCH 1/11] ksm: allow trees per NUMA node

2013-01-25 Thread Hugh Dickins
till left over from the previous stable tree; 2) memory hotremove may migrate KSM pages, but there is no provision here for !merge_across_nodes to migrate nodes to the proper tree. Signed-off-by: Petr Holasek Signed-off-by: Hugh Dickins Acked-by: Rik van Riel --- Documentation/vm/ksm.txt |

[PATCH 2/11] ksm: add sysfs ABI Documentation

2013-01-25 Thread Hugh Dickins
From: Petr Holasek This patch adds sysfs documentation for Kernel Samepage Merging (KSM) including new merge_across_nodes knob. Signed-off-by: Petr Holasek Signed-off-by: Hugh Dickins --- Documentation/ABI/testing/sysfs-kernel-mm-ksm | 52 1 file changed, 52 insertions

[PATCH 3/11] ksm: trivial tidyups

2013-01-25 Thread Hugh Dickins
ng to copy and I prefer this precedent. Signed-off-by: Hugh Dickins --- mm/ksm.c | 48 ++-- 1 file changed, 22 insertions(+), 26 deletions(-) --- mmotm.orig/mm/ksm.c 2013-01-25 14:36:38.608205618 -0800 +++ mmotm/mm/ksm.c 2013-01-25 14

[PATCH 4/11] ksm: reorganize ksm_check_stable_tree

2013-01-25 Thread Hugh Dickins
Memory hotremove's ksm_check_stable_tree() is pitifully inefficient (restarting whenever it finds a stale node to remove), but rearrange so that at least it does not needlessly restart from nid 0 each time. And add a couple of comments: here is why we keep pfn instead of page. Signed-off-by:

[PATCH 5/11] ksm: get_ksm_page locked

2013-01-25 Thread Hugh Dickins
ed preemption for it. There's no need for rcu_read_lock() around get_page_unless_zero() (and mapping checks) here. Cut out that silliness before making this any harder to understand. Signed-off-by: Hugh Dickins --- mm/ksm.c | 23 +-- 1 file changed, 13 insertions(+), 10 del

[PATCH 6/11] ksm: remove old stable nodes more thoroughly

2013-01-25 Thread Hugh Dickins
from swap) to a page which it then marks Uptodate. Fix this case by not copying, letting do_swap_page() discover the error. Signed-off-by: Hugh Dickins --- include/linux/ksm.h | 18 ++--- mm/ksm.c| 83 +++--- mm/memory.c | 19 --

[PATCH 7/11] ksm: make KSM page migration possible

2013-01-25 Thread Hugh Dickins
earlier: that should already be handled, by the satisfyingly heavy hammer of move_vma()'s call to ksm_madvise(,,,MADV_UNMERGEABLE,). Signed-off-by: Hugh Dickins --- mm/ksm.c | 94 ++--- mm/migrate.c |5 ++ 2 files changed, 77 inserti

[PATCH 8/11] ksm: make !merge_across_nodes migration safe

2013-01-25 Thread Hugh Dickins
ed to prune the list of stale entries from time to time (scan_get_next_rmap_item() does it once each full scan): whereas stale nodes in the stable tree get naturally pruned as searches try to brush past them, these migrate_nodes may get forgotten and accumulate. Signed-off-by: Hugh Dickin

[PATCH 9/11] ksm: enable KSM page migration

2013-01-25 Thread Hugh Dickins
dn't set MADV_MERGEABLE on any area where this is a worry. Signed-off-by: Hugh Dickins --- mm/mempolicy.c |3 +-- mm/migrate.c | 21 +++-- 2 files changed, 4 insertions(+), 20 deletions(-) --- mmotm.orig/mm/mempolicy.c 2013-01-24 12:28:38.848127553 -0800 +++ mmotm/m

[PATCH 10/11] mm: remove offlining arg to migrate_pages

2013-01-25 Thread Hugh Dickins
No functional change, but the only purpose of the offlining argument to migrate_pages() etc, was to ensure that __unmap_and_move() could migrate a KSM page for memory hotremove (which took ksm_thread_mutex) but not for other callers. Now all cases are safe, remove the arg. Signed-off-by: Hugh

[PATCH 11/11] ksm: stop hotremove lockdep warning

2013-01-25 Thread Hugh Dickins
lag, and wait_while_offlining() checks, to achieve the same lockout without being caught by lockdep. This is less elegant for KSM, but it's more important to keep lockdep useful to other users - and I apologize for how long it took to fix. Reported-by: Gerald Schaefer Signed-off-by: Hugh Dickins

Re: boot warnings due to swap: make each swap partition have one address_space

2013-01-26 Thread Hugh Dickins
On Fri, 25 Jan 2013, Shaohua Li wrote: > On Thu, Jan 24, 2013 at 10:45:57PM -0500, Sasha Levin wrote: > > Hi folks, > > > > Commit "swap: make each swap partition have one address_space" is triggering > > a series of warnings on boot: > > > > [3.446071] [ cut here ] >

Re: [PATCH 1/11] ksm: allow trees per NUMA node

2013-01-26 Thread Hugh Dickins
On Sat, 26 Jan 2013, Simon Jeons wrote: > On Fri, 2013-01-25 at 17:54 -0800, Hugh Dickins wrote: > > From: Petr Holasek > > @@ -1122,6 +1166,18 @@ struct rmap_item *unstable_tree_search_i > > return NULL; > > } > > > &g

Re: [PATCH 6/6] mm: numa: Cleanup flow of transhuge page migration

2013-01-27 Thread Hugh Dickins
On Tue, 22 Jan 2013, Mel Gorman wrote: > From: Hugh Dickins > > When correcting commit 04fa5d6a (mm: migrate: check page_count of > THP before migrating) Hugh Dickins noted that the control flow for > transhuge migration was difficult to follow. Unconditionally calling

Re: boot warnings due to swap: make each swap partition have one address_space

2013-01-27 Thread Hugh Dickins
On Sun, 27 Jan 2013, Shaohua Li wrote: > On Sat, Jan 26, 2013 at 06:16:05PM -0800, Hugh Dickins wrote: > > On Fri, 25 Jan 2013, Shaohua Li wrote: > > > On Thu, Jan 24, 2013 at 10:45:57PM -0500, Sasha Levin wrote: > > > > > > Subject: give-each-swa

[PATCH next/mmotm] swap: add per-partition lock for swapfile fix

2013-01-27 Thread Hugh Dickins
I had all cpus spinning in swap_info_get(), for the lock on an area being swapped off: probably because get_swap_page() forgot to unlock. Signed-off-by: Hugh Dickins --- mm/swapfile.c |5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) --- mmotm.orig/mm/swapfile.c2013-01-23 17

Re: [PATCH 1/11] ksm: allow trees per NUMA node

2013-01-27 Thread Hugh Dickins
On Sat, 26 Jan 2013, Simon Jeons wrote: > On Sat, 2013-01-26 at 18:54 -0800, Hugh Dickins wrote: > > > > So you'd like us to add code for moving a node from one tree to another > > in ksm_migrate_page() (and what would it do when it collides with an > > Witho

Re: [PATCH 5/11] ksm: get_ksm_page locked

2013-01-27 Thread Hugh Dickins
On Sat, 26 Jan 2013, Simon Jeons wrote: > On Fri, 2013-01-25 at 18:00 -0800, Hugh Dickins wrote: > > In some places where get_ksm_page() is used, we need the page to be locked. > > > > In function get_ksm_page, why check page->mapping => > get_page_unless_zero =&g

Re: [PATCH 5/11] ksm: get_ksm_page locked

2013-01-27 Thread Hugh Dickins
On Sat, 26 Jan 2013, Simon Jeons wrote: > > BTW, what's the meaning of ksm page forked? A ksm page is mapped into a process's mm, then that process calls fork(): the ksm page then appears in the child's mm, before ksmd has tracked it. -- To unsubscribe from this list: send the line "unsubscribe

Re: [PATCH 6/11] ksm: remove old stable nodes more thoroughly

2013-01-27 Thread Hugh Dickins
On Sat, 26 Jan 2013, Simon Jeons wrote: > On Fri, 2013-01-25 at 18:01 -0800, Hugh Dickins wrote: > > Switching merge_across_nodes after running KSM is liable to oops on stale > > nodes still left over from the previous stable tree. It's not something > > that people wil

Re: [PATCH 7/11] ksm: make KSM page migration possible

2013-01-27 Thread Hugh Dickins
On Sat, 26 Jan 2013, Simon Jeons wrote: > On Fri, 2013-01-25 at 18:03 -0800, Hugh Dickins wrote: > > + while (!get_page_unless_zero(page)) { > > + /* > > +* Another check for page->mapping != expected_mapping would > > +* work

Re: [PATCH 8/11] ksm: make !merge_across_nodes migration safe

2013-01-27 Thread Hugh Dickins
On Sun, 27 Jan 2013, Simon Jeons wrote: > On Fri, 2013-01-25 at 18:05 -0800, Hugh Dickins wrote: > > @@ -1344,10 +1401,29 @@ static void cmp_and_merge_page(struct pa > > unsigned int checksum; > > int err; > > > > - remove_rmap_item_from_tre

Re: [PATCH 11/11] ksm: stop hotremove lockdep warning

2013-01-27 Thread Hugh Dickins
On Sun, 27 Jan 2013, Simon Jeons wrote: > On Fri, 2013-01-25 at 18:10 -0800, Hugh Dickins wrote: > > @@ -2098,15 +2117,15 @@ static int ksm_memory_callback(struct no > > switch (action) { > > case MEM_GOING_OFFLINE: > > /* > > -*

Re: [PATCH 5/11] ksm: get_ksm_page locked

2013-01-27 Thread Hugh Dickins
On Sun, 27 Jan 2013, Simon Jeons wrote: > On Sun, 2013-01-27 at 14:08 -0800, Hugh Dickins wrote: > > On Sat, 26 Jan 2013, Simon Jeons wrote: > > > > > > Why the parameter lock passed from stable_tree_search/insert is true, > > > but remove_rmap_item_from_t

Re: [PATCH 7/11] ksm: make KSM page migration possible

2013-01-27 Thread Hugh Dickins
On Sun, 27 Jan 2013, Simon Jeons wrote: > On Sun, 2013-01-27 at 15:12 -0800, Hugh Dickins wrote: > > On Sat, 26 Jan 2013, Simon Jeons wrote: > > > > > > Could you explain why need check page->mapping twice after get page? > > > > Once for the !locked cas

Re: [PATCH 6/11] ksm: remove old stable nodes more thoroughly

2013-01-27 Thread Hugh Dickins
On Sun, 27 Jan 2013, Simon Jeons wrote: > On Sun, 2013-01-27 at 15:05 -0800, Hugh Dickins wrote: > > On Sat, 26 Jan 2013, Simon Jeons wrote: > > > > How can this happen? We only permit switching merge_across_nodes when > > > > pages_shared is 0, and usually s

Re: [PATCH 6/11] ksm: remove old stable nodes more thoroughly

2013-01-27 Thread Hugh Dickins
On Sun, 27 Jan 2013, Simon Jeons wrote: > On Fri, 2013-01-25 at 18:01 -0800, Hugh Dickins wrote: > > Switching merge_across_nodes after running KSM is liable to oops on stale > > nodes still left over from the previous stable tree. It's not something > > Since this p

Re: [PATCH 1/2] mm: Allow arch code to control the user page table ceiling

2013-02-19 Thread Hugh Dickins
On Mon, 18 Feb 2013, Catalin Marinas wrote: > From: Hugh Dickins You're being generous to me :) Thanks for doing most of the work, yes, this looks fine. BUt I'd have expected a Cc stable below: see comment on 2/2. Hugh > > On architectures where a pgd entry may be shar

Re: [PATCH 2/2] arm: Set the page table freeing ceiling to TASK_SIZE

2013-02-19 Thread Hugh Dickins
e. Maybe all I'm asking for is a more reassuring commit description. Hugh > > Signed-off-by: Catalin Marinas > Cc: Russell King > Cc: Hugh Dickins > Cc: Andrew Morton > --- > arch/arm/include/asm/pgtable.h | 7 +++ > 1 file changed, 7 insertions(+) > >

Re: Should a swapped out page be deleted from swap cache?

2013-02-19 Thread Hugh Dickins
On Tue, 19 Feb 2013, Ric Mason wrote: > > There is a call of try_to_free_swap in function swap_writepage, if > swap_writepage is call from shrink_page_list path, PageSwapCache(page) == > trure, PageWriteback(page) maybe false, page_swapcount(page) == 0, then will > delete the page from swap cache

Re: Should a swapped out page be deleted from swap cache?

2013-02-19 Thread Hugh Dickins
On Tue, 19 Feb 2013, Will Huck wrote: > > Another question: I don't see the connection to deleting a swapped out page from swap cache. > > Why kernel memory mapping use direct mapping instead of kmalloc/vmalloc which > will setup mapping on demand? I may misunderstand you, and "kernel memory m

Re: Should a swapped out page be deleted from swap cache?

2013-02-19 Thread Hugh Dickins
On Tue, 19 Feb 2013, Sha Zhengju wrote: > On Tue, Feb 19, 2013 at 2:53 PM, Li Haifeng wrote: > > 2013/2/19 Will Huck : > >> On 02/19/2013 10:04 AM, Li Haifeng wrote: > >>> > >>> If a anonymous page is swapped out and comes to be reclaimable, > >>> shrink_page_list() will call __remove_mapping() t

Re: [PATCH 1/2] tmpfs: fix use-after-free of mempolicy object

2013-02-20 Thread Hugh Dickins
mpfs mpol= options is another question. 2.6.26 claimed to add support for "mpol=local", yet nobody noticed that it was rejected as an invalid option, until an independent bugfix in 2.6.34 rearranged the code and happened to get it working. I only discovered that a month or two ago,

Re: [PATCH 2/2] tmpfs: fix mempolicy object leaks

2013-02-20 Thread Hugh Dickins
I could have broken the patch into > three pieces but is seemed easier to review as one. Yes, I agree, and nicely fixed - but one doubt below. If you resolve that, please add my Acked-by: Hugh Dickins > > Signed-off-by: Greg Thelen > --- > mm/shmem.c | 12 +--- >

[PATCH 0/7] ksm: responses to NUMA review

2013-02-21 Thread Hugh Dickins
Here's a second KSM series, based on mmotm 2013-02-19-17-20: partly in response to Mel's review feedback, partly fixes to issues that I found myself in doing more review and testing. None of the issues fixed are truly show-stoppers, though I would prefer them fixed sooner than later. 1 ksm: add s

[PATCH 1/7] ksm: add some comments

2013-02-21 Thread Hugh Dickins
Added slightly more detail to the Documentation of merge_across_nodes, a few comments in areas indicated by review, and renamed get_ksm_page()'s argument from "locked" to "lock_it". No functional change. Signed-off-by: Hugh Dickins --- Documentation/vm/ksm.txt | 16 +

[PATCH 2/7] ksm: treat unstable nid like in stable tree

2013-02-21 Thread Hugh Dickins
gy is generally better, I'd rather be consistent with what's done in the stable tree: accept a page from the wrong NUMA node for comparison, but not as a leaf for merging. Signed-off-by: Hugh Dickins --- mm/ksm.c | 19 +-- 1 file changed, 9 insertions(+), 10 deletions(-) --

[PATCH 3/7] ksm: shrink 32-bit rmap_item back to 32 bytes

2013-02-21 Thread Hugh Dickins
non_vma early (when we already hold mmap_sem): now we must remove tree_rmap_item from its unstable tree there, before overwriting nid. No need to spatter BUG()s around: we'd be seeing oopses if this were wrong. Signed-off-by: Hugh Dickins --- mm/ksm.c | 26 ++ 1 file

[PATCH 4/7] mm,ksm: FOLL_MIGRATION do migration_entry_wait

2013-02-21 Thread Hugh Dickins
, and cannot be sure that every follow_page() caller is prepared to sleep - ia64's xencomm_vtop()? Now, THP's wait_split_huge_page() can already sleep there, since anon_vma locking was changed to mutex, but maybe that's somehow excluded. Signed-off-by: Hugh Dickins --

[PATCH 5/7] mm,ksm: swapoff might need to copy

2013-02-21 Thread Hugh Dickins
up being used there: rework it with "page != swapcache". Signed-off-by: Hugh Dickins --- mm/swapfile.c | 15 ++- 1 file changed, 14 insertions(+), 1 deletion(-) --- mmotm.orig/mm/swapfile.c2013-02-20 22:28:09.076001048 -0800 +++ mmotm/mm/swapfile.c 2013-02-20 23:

[PATCH 6/7] mm: cleanup "swapcache" in do_swap_page

2013-02-21 Thread Hugh Dickins
I dislike the way in which "swapcache" gets used in do_swap_page(): there is always a page from swapcache there (even if maybe uncached by the time we lock it), but tests are made according to "swapcache". Rework that with "page != swapcache", as has been done in unu

[PATCH 7/7] ksm: allocate roots when needed

2013-02-21 Thread Hugh Dickins
statically allocated, then if merge_across_nodes is ever tuned, allocate for nr_node_ids+nr_node_ids. Do not attempt to free up the extra if it's tuned back, that would be a waste of effort. Signed-off-by: Hugh Dickins --- mm/ksm.c | 72 ---

Re: [PATCH 5/7] mm,ksm: swapoff might need to copy

2013-02-22 Thread Hugh Dickins
On Thu, 21 Feb 2013, Johannes Weiner wrote: > On Thu, Feb 21, 2013 at 12:25:40AM -0800, Hugh Dickins wrote: > > Before establishing that KSM page migration was the cause of my > > WARN_ON_ONCE(page_mapped(page))s, I suspected that they came from the > > lack of a ksm_mi

Re: [PATCH 0/7] ksm: responses to NUMA review

2013-02-22 Thread Hugh Dickins
On Fri, 22 Feb 2013, Ric Mason wrote: > On 02/21/2013 04:17 PM, Hugh Dickins wrote: > > Here's a second KSM series, based on mmotm 2013-02-19-17-20: partly in > > response to Mel's review feedback, partly fixes to issues that I found > > myself in doing more review a

Re: [PATCH 1/7] ksm: add some comments

2013-02-22 Thread Hugh Dickins
On Fri, 22 Feb 2013, Ric Mason wrote: > > What's the root reason merge_across_nodes setting just can be changed only > when there are no ksm shared pages in system? Simplicity. Why add code (moving nodes from tree to tree, handling the collisions) for a rare case that doesn't need to be fast? >

Re: [PATCH 2/7] ksm: treat unstable nid like in stable tree

2013-02-22 Thread Hugh Dickins
On Fri, 22 Feb 2013, Ric Mason wrote: > On 02/21/2013 04:20 PM, Hugh Dickins wrote: > > An inconsistency emerged in reviewing the NUMA node changes to KSM: > > when meeting a page from the wrong NUMA node in a stable tree, we say > > that it's okay for comparisons, but

Re: [PATCH] block: replace __getblk_slow misfix by grow_dev_page fix

2012-08-28 Thread Hugh Dickins
On Tue, 28 Aug 2012, Richard W.M. Jones wrote: > On Wed, Aug 22, 2012 at 09:56:12PM -0700, Hugh Dickins wrote: > > [PATCH] block: replace __getblk_slow misfix by grow_dev_page fix > > I noticed this (second version) went upstream already. Nevertheless I > tested it today and

Re: kernel 3.2.27 on arm: WARNING: at mm/page_alloc.c:2109 __alloc_pages_nodemask+0x1d4/0x68c()

2012-08-31 Thread Hugh Dickins
[ Cc'ing original mail to netdev as the problem may be recognized there ] On Wed, 29 Aug 2012, David Madore wrote: > Dear all, > > I hope this is the right place to send this sort of backtrace dump. > > I'm getting the following sort of dumps (below) on a 3.2.27 kernel on > an arm/kirkwood (actu

Re: + mm-mmapc-replace-find_vma_prepare-with-clearer-find_vma_links.patch added to -mm tree

2012-09-11 Thread Hugh Dickins
On Tue, 11 Sep 2012, David Rientjes wrote: > On Thu, 16 Aug 2012, a...@linux-foundation.org wrote: > > > > This does revert 2.6.27's dfe195fb79e88 ("mm: fix uninitialized variables > > for find_vma_prepare callers"), but it looks like gcc 4.3.0 was one of > > those releases too eager to shout abou

Re: [PATCH 09/12] thp: introduce khugepaged_prealloc_page and khugepaged_alloc_page

2012-09-11 Thread Hugh Dickins
On Mon, 13 Aug 2012, Xiao Guangrong wrote: > They are used to abstract the difference between NUMA enabled and NUMA > disabled > to make the code more readable > > Signed-off-by: Xiao Guangrong > --- > mm/huge_memory.c | 166 > -- > 1 files

Re: + mm-mmapc-replace-find_vma_prepare-with-clearer-find_vma_links.patch added to -mm tree

2012-09-12 Thread Hugh Dickins
On Tue, 11 Sep 2012, David Rientjes wrote: > On Tue, 11 Sep 2012, Hugh Dickins wrote: > > > > > This does revert 2.6.27's dfe195fb79e88 ("mm: fix uninitialized > > > > variables > > > > for find_vma_prepare callers"), but it looks like

Re: + mm-mmapc-replace-find_vma_prepare-with-clearer-find_vma_links.patch added to -mm tree

2012-09-12 Thread Hugh Dickins
On Wed, 12 Sep 2012, David Rientjes wrote: > On Wed, 12 Sep 2012, Hugh Dickins wrote: > > > that we can't fix it all up to use > > > uninitialized_var() so this is handled the proper way? > > > > I do prefer to avoid it when we can, some reasons given

Re: [PATCH 09/12] thp: introduce khugepaged_prealloc_page and khugepaged_alloc_page

2012-09-12 Thread Hugh Dickins
On Wed, 12 Sep 2012, Xiao Guangrong wrote: > On 09/12/2012 10:03 AM, Hugh Dickins wrote: > > > What brought me to look at it was hitting "BUG at mm/huge_memory.c:1842!" > > running tmpfs kbuild swapping load (with memcg's memory.limit_in_bytes > > forcing

Re: [PATCH 09/12] thp: introduce khugepaged_prealloc_page and khugepaged_alloc_page

2012-09-12 Thread Hugh Dickins
On Wed, 12 Sep 2012, Hugh Dickins wrote: > > @@ -1825,6 +1825,7 @@ static bool khugepaged_prealloc_page(struct page > > **hpage, bool *wait) > > return false; > > > > *wait = false; > > + *hpage = NULL; &g

Re: [PATCH] memory cgroup: update root memory cgroup when node is onlined

2012-09-13 Thread Hugh Dickins
t without the mem_cgroup_zone_lruvec part of it, but oops in get_scan_count told me that's needed too. Description to be filled in later: would it be needed for -stable, or is onlining already broken in other ways that you're now fixing up? Reported-by: Tang Chen Signed-off-by: Hugh Dickins

Re: [patch] mm: fix PageUptodate data race

2008-01-31 Thread Hugh Dickins
On Thu, 31 Jan 2008, Nick Piggin wrote: > Sorry, way behind on email here. I'll get through it slowly... You're certainly not the only one, and certainly not the worst offender. > On Sat, Jan 26, 2008 at 10:03:56PM -0800, Andrew Morton wrote: > > > > So... it's two patches in one. > > I guess

unionfs_copy_attr_times oopses

2008-02-01 Thread Hugh Dickins
Hi Erez, Aside from the occasional "unionfs: new lower inode mtime" messages on directories (which I've got into the habit of ignoring now), the only problem I'm still suffering with unionfs over tmpfs (not tested any other fs's below it recently) is oops in unionfs_copy_attr_times. I believe I'm

Re: [2.6.22.y] {01**/17} - do_anonymous_page-race - series for stable kernel

2008-02-02 Thread Hugh Dickins
On Sat, 2 Feb 2008, Linus Torvalds wrote: > On Sat, 2 Feb 2008, Oliver Pinter (Pint?r Oliv?r) wrote: > > > > NOT IN MAINLINE > > > > Linus it's go or drop it? > > I have no idea, because you've used some horrible and stupid attachment > format that I can't even read. Patches should be inline so

Re: 2.6.24-mm1: module params broken

2008-02-04 Thread Hugh Dickins
On Mon, 4 Feb 2008, Andrew Morton wrote: > > Takashi found a bug in it: Bless him. > --- > a/lib/vsprintf.c~add-new-string-functions-strict_strto-and-convert-kernel-params-to-use-them-fix-2 > +++ a/lib/vsprintf.c > @@ -234,7 +234,7 @@ int strict_strto##type(const char *cp, u > if

Re: 2.6.24-mm1: module params broken

2008-02-04 Thread Hugh Dickins
Please chuck out: add-new-string-functions-strict_strto-and-convert-kernel-params-to-use-them.patch (along with Randy's perfectly reasonable -fix.patch). So predictable that it would just disable loading modules with params: Feb 4 13:17:02 blonde kernel: thinkpad_acpi: `1' invalid for parameter

Re: brk randomization breaks columns

2008-02-05 Thread Hugh Dickins
a starts immediately > after the end of the code (+bss), which is wrong for example in > environments with randomized brk start. The proper way is to check whether > the address is not below the start_brk address. > > Signed-off-by: Jiri Kosina <[EMAIL PROTECTED]> Ack

  1   2   3   4   5   6   7   8   9   10   >