Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Mel Gorman
On Thu, Aug 29, 2013 at 01:14:19PM +0200, Peter Zijlstra wrote: > > I intended to say nr_node_ids, the same size as buffers such as the > > task_numa_buffers. If we ever return a nid > nr_node_ids here then > > task_numa_fault would corrupt memory. However, it should be possible for > >

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Peter Zijlstra
On Thu, Aug 29, 2013 at 11:56:57AM +0100, Mel Gorman wrote: > > I thought it was, we crashed somewhere suspiciously close, but no. You > > need shared mpols for this to actually trigger and the NUMA stuff > > doesn't use that. > > > > Ah, so this is a red herring? Yeah, but I still think its an

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Mel Gorman
On Thu, Aug 29, 2013 at 11:43:42AM +0200, Peter Zijlstra wrote: > On Thu, Aug 29, 2013 at 10:28:29AM +0100, Mel Gorman wrote: > > On Fri, Aug 23, 2013 at 08:15:46PM +0200, Peter Zijlstra wrote: > > > On Fri, Aug 23, 2013 at 03:03:32PM +0200, Peter Zijlstra wrote: > > > > So I think this patch is

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Peter Zijlstra
On Thu, Aug 29, 2013 at 11:43:42AM +0200, Peter Zijlstra wrote: > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > > index 7431001..ae880c3 100644 > > --- a/mm/mempolicy.c > > +++ b/mm/mempolicy.c > > @@ -1755,22 +1755,24 @@ unsigned slab_node(void) > > } > > > > /* Do static interleaving for

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Peter Zijlstra
On Thu, Aug 29, 2013 at 10:28:29AM +0100, Mel Gorman wrote: > On Fri, Aug 23, 2013 at 08:15:46PM +0200, Peter Zijlstra wrote: > > On Fri, Aug 23, 2013 at 03:03:32PM +0200, Peter Zijlstra wrote: > > > So I think this patch is broken (still). > > I am assuming the lack of complaints is that it is

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Mel Gorman
On Fri, Aug 23, 2013 at 08:15:46PM +0200, Peter Zijlstra wrote: > On Fri, Aug 23, 2013 at 03:03:32PM +0200, Peter Zijlstra wrote: > > So I think this patch is broken (still). I am assuming the lack of complaints is that it is not a heavily executed path. I expect that you (and Rik) are hitting

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Mel Gorman
On Fri, Aug 23, 2013 at 08:15:46PM +0200, Peter Zijlstra wrote: On Fri, Aug 23, 2013 at 03:03:32PM +0200, Peter Zijlstra wrote: So I think this patch is broken (still). I am assuming the lack of complaints is that it is not a heavily executed path. I expect that you (and Rik) are hitting this

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Peter Zijlstra
On Thu, Aug 29, 2013 at 10:28:29AM +0100, Mel Gorman wrote: On Fri, Aug 23, 2013 at 08:15:46PM +0200, Peter Zijlstra wrote: On Fri, Aug 23, 2013 at 03:03:32PM +0200, Peter Zijlstra wrote: So I think this patch is broken (still). I am assuming the lack of complaints is that it is not a

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Peter Zijlstra
On Thu, Aug 29, 2013 at 11:43:42AM +0200, Peter Zijlstra wrote: diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 7431001..ae880c3 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1755,22 +1755,24 @@ unsigned slab_node(void) } /* Do static interleaving for a VMA with known

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Mel Gorman
On Thu, Aug 29, 2013 at 11:43:42AM +0200, Peter Zijlstra wrote: On Thu, Aug 29, 2013 at 10:28:29AM +0100, Mel Gorman wrote: On Fri, Aug 23, 2013 at 08:15:46PM +0200, Peter Zijlstra wrote: On Fri, Aug 23, 2013 at 03:03:32PM +0200, Peter Zijlstra wrote: So I think this patch is broken

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Peter Zijlstra
On Thu, Aug 29, 2013 at 11:56:57AM +0100, Mel Gorman wrote: I thought it was, we crashed somewhere suspiciously close, but no. You need shared mpols for this to actually trigger and the NUMA stuff doesn't use that. Ah, so this is a red herring? Yeah, but I still think its an actual

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-29 Thread Mel Gorman
On Thu, Aug 29, 2013 at 01:14:19PM +0200, Peter Zijlstra wrote: I intended to say nr_node_ids, the same size as buffers such as the task_numa_buffers. If we ever return a nid nr_node_ids here then task_numa_fault would corrupt memory. However, it should be possible for node_weight to

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-25 Thread Rik van Riel
On 08/23/2013 02:15 PM, Peter Zijlstra wrote: > So I guess the quick and ugly solution is something like the below. This still crashes :) > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -1762,19 +1762,21 @@ unsigned slab_node(void) > static unsigned offset_il_node(struct mempolicy *pol, >

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-25 Thread Rik van Riel
On 08/23/2013 02:15 PM, Peter Zijlstra wrote: So I guess the quick and ugly solution is something like the below. This still crashes :) --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1762,19 +1762,21 @@ unsigned slab_node(void) static unsigned offset_il_node(struct mempolicy *pol,

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-23 Thread Peter Zijlstra
On Fri, Aug 23, 2013 at 03:03:32PM +0200, Peter Zijlstra wrote: > So I think this patch is broken (still). Suppose we have an > INTERLEAVE mempol like 0x3 and change it to 0xc. > > Original: 0x3 > Rebind Step 1:0xf /* set bits */ > Rebind Step 2:0xc /* clear bits */ > > Now

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-23 Thread Peter Zijlstra
On Wed, Mar 07, 2012 at 06:08:52PM +, Mel Gorman wrote: > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > index 06b145f..013d981 100644 > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -1843,18 +1843,24 @@ struct page * > alloc_pages_vma(gfp_t gfp, int order, struct vm_area_struct *vma, >

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-23 Thread Peter Zijlstra
On Wed, Mar 07, 2012 at 06:08:52PM +, Mel Gorman wrote: diff --git a/mm/mempolicy.c b/mm/mempolicy.c index 06b145f..013d981 100644 --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1843,18 +1843,24 @@ struct page * alloc_pages_vma(gfp_t gfp, int order, struct vm_area_struct *vma,

Re: [PATCH] cpuset: mm: Reduce large amounts of memory barrier related damage v3

2013-08-23 Thread Peter Zijlstra
On Fri, Aug 23, 2013 at 03:03:32PM +0200, Peter Zijlstra wrote: So I think this patch is broken (still). Suppose we have an INTERLEAVE mempol like 0x3 and change it to 0xc. Original: 0x3 Rebind Step 1:0xf /* set bits */ Rebind Step 2:0xc /* clear bits */ Now look at