* [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration @ 2012-06-21 1:00 David Rientjes 2012-06-21 12:42 ` Mel Gorman 2012-06-21 23:46 ` Andrew Morton 0 siblings, 2 replies; 10+ messages in thread From: David Rientjes @ 2012-06-21 1:00 UTC (permalink / raw) To: Linus Torvalds, Andrew Morton Cc: Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm If the range passed to mbind() is not allocated on nodes set in the nodemask, it migrates the pages to respect the constraint. The final formal of migrate_pages() is a mode of type enum migrate_mode, not a boolean. do_mbind() is currently passing "true" which is the equivalent of MIGRATE_SYNC_LIGHT. This should instead be MIGRATE_SYNC for synchronous page migration. Signed-off-by: David Rientjes <rientjes@google.com> --- mm/mempolicy.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mm/mempolicy.c b/mm/mempolicy.c --- a/mm/mempolicy.c +++ b/mm/mempolicy.c @@ -1177,7 +1177,7 @@ static long do_mbind(unsigned long start, unsigned long len, if (!list_empty(&pagelist)) { nr_failed = migrate_pages(&pagelist, new_vma_page, (unsigned long)vma, - false, true); + false, MIGRATE_SYNC); if (nr_failed) putback_lru_pages(&pagelist); } -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-21 1:00 [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration David Rientjes @ 2012-06-21 12:42 ` Mel Gorman 2012-06-21 23:46 ` Andrew Morton 1 sibling, 0 replies; 10+ messages in thread From: Mel Gorman @ 2012-06-21 12:42 UTC (permalink / raw) To: David Rientjes Cc: Linus Torvalds, Andrew Morton, KOSAKI Motohiro, linux-kernel, linux-mm On Wed, Jun 20, 2012 at 06:00:12PM -0700, David Rientjes wrote: > If the range passed to mbind() is not allocated on nodes set in the > nodemask, it migrates the pages to respect the constraint. > > The final formal of migrate_pages() is a mode of type enum migrate_mode, > not a boolean. do_mbind() is currently passing "true" which is the > equivalent of MIGRATE_SYNC_LIGHT. This should instead be MIGRATE_SYNC > for synchronous page migration. > > Signed-off-by: David Rientjes <rientjes@google.com> Acked-by: Mel Gorman <mgorman@suse.de> -- Mel Gorman SUSE Labs -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-21 1:00 [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration David Rientjes 2012-06-21 12:42 ` Mel Gorman @ 2012-06-21 23:46 ` Andrew Morton 2012-06-22 0:46 ` Linus Torvalds 1 sibling, 1 reply; 10+ messages in thread From: Andrew Morton @ 2012-06-21 23:46 UTC (permalink / raw) To: David Rientjes Cc: Linus Torvalds, Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm, Peter Zijlstra, Ingo Molnar On Wed, 20 Jun 2012 18:00:12 -0700 (PDT) David Rientjes <rientjes@google.com> wrote: > If the range passed to mbind() is not allocated on nodes set in the > nodemask, it migrates the pages to respect the constraint. > > The final formal of migrate_pages() is a mode of type enum migrate_mode, > not a boolean. do_mbind() is currently passing "true" which is the > equivalent of MIGRATE_SYNC_LIGHT. This should instead be MIGRATE_SYNC > for synchronous page migration. > > Signed-off-by: David Rientjes <rientjes@google.com> > --- > mm/mempolicy.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/mempolicy.c b/mm/mempolicy.c > --- a/mm/mempolicy.c > +++ b/mm/mempolicy.c > @@ -1177,7 +1177,7 @@ static long do_mbind(unsigned long start, unsigned long len, > if (!list_empty(&pagelist)) { > nr_failed = migrate_pages(&pagelist, new_vma_page, > (unsigned long)vma, > - false, true); > + false, MIGRATE_SYNC); > if (nr_failed) > putback_lru_pages(&pagelist); > } I can't really do anything with this patch - it's a bug added by Peter's "mm/mpol: Simplify do_mbind()" and added to linux-next via one of Ingo's trees. And I can't cleanly take the patch over as it's all bound up with the other changes for sched/numa balancing. Is that patchset actually going anywhere in the short term in its present form? If not, methinks it would be better to pull it out of -next for now. -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-21 23:46 ` Andrew Morton @ 2012-06-22 0:46 ` Linus Torvalds 2012-06-22 1:45 ` Andrew Morton 0 siblings, 1 reply; 10+ messages in thread From: Linus Torvalds @ 2012-06-22 0:46 UTC (permalink / raw) To: Andrew Morton Cc: David Rientjes, Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm, Peter Zijlstra, Ingo Molnar On Thu, Jun 21, 2012 at 4:46 PM, Andrew Morton <akpm@linux-foundation.org> wrote: > > I can't really do anything with this patch - it's a bug added by > Peter's "mm/mpol: Simplify do_mbind()" and added to linux-next via one > of Ingo's trees. > > And I can't cleanly take the patch over as it's all bound up with the > other changes for sched/numa balancing. I took the patch, it looked obviously correct (passing in a boolean was clearly crap). I wonder if I should make sparse warn about any casts to/from enums. They tend to always be wrong. Linus -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-22 0:46 ` Linus Torvalds @ 2012-06-22 1:45 ` Andrew Morton 2012-06-22 2:22 ` Linus Torvalds ` (2 more replies) 0 siblings, 3 replies; 10+ messages in thread From: Andrew Morton @ 2012-06-22 1:45 UTC (permalink / raw) To: Linus Torvalds Cc: David Rientjes, Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm, Peter Zijlstra, Ingo Molnar On Thu, 21 Jun 2012 17:46:52 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote: > On Thu, Jun 21, 2012 at 4:46 PM, Andrew Morton > <akpm@linux-foundation.org> wrote: > > > > I can't really do anything with this patch - it's a bug added by > > Peter's "mm/mpol: Simplify do_mbind()" and added to linux-next via one > > of Ingo's trees. > > > > And I can't cleanly take the patch over as it's all bound up with the > > other changes for sched/numa balancing. > > I took the patch, it looked obviously correct (passing in a boolean > was clearly crap). Ah, OK, the bug was actually "retained" by "mm/mpol: Simplify do_mbind()". I do still ask what the plans are for that patchset.. > I wonder if I should make sparse warn about any casts to/from enums. > They tend to always be wrong. I think it would be worth trying, see how much fallout there is. Also casts from "enum a" to "enum b". We've had a few of those, unintentionally. And casts to/from bool, perhaps. To squish the warning we'd do things like a_bool = !!a_int. That generates extra code, but gcc internally generates extra code for a_bool = a_int anyway, and a quick test here indicates that the generated code is identical (testl/setne). It would be nice to find a way of converting an integer which is known to be 1 or 0 into a bool without generating any code, but I haven't found a way of tricking the compiler into doing that. It's all a bit of a downside to using bool at all. -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-22 1:45 ` Andrew Morton @ 2012-06-22 2:22 ` Linus Torvalds 2012-06-22 3:33 ` Linus Torvalds 2012-06-22 7:12 ` Ingo Molnar 2 siblings, 0 replies; 10+ messages in thread From: Linus Torvalds @ 2012-06-22 2:22 UTC (permalink / raw) To: Andrew Morton Cc: David Rientjes, Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm, Peter Zijlstra, Ingo Molnar On Thu, Jun 21, 2012 at 6:45 PM, Andrew Morton <akpm@linux-foundation.org> wrote: > > And casts to/from bool, perhaps. To squish the warning we'd do things > like a_bool = !!a_int. That generates extra code, but gcc internally > generates extra code for a_bool = a_int anyway, and a quick test here > indicates that the generated code is identical (testl/setne). It *has* to generate extra code. A cast to Bool is very much not at all like a normal cast. All the traditional C casts just do a pure bit truncate (or zero/sign extension) keeping the same value. A cast to bool is totally different. It is exactly the same as "test against zero" - so it in no way acts like a traditional integer cast to a one-bit integer. I'm not 100% sure the use of "bool" is a great idea, and people who use pointers to bools are crazy mf's (you can break the fundamental property of bools by assigning random values through the pointer), but _Bool certainly ahs the _potential_ to be a good thing. The reason I'm nervous about it is exactly that people get it wrong so easily because they do *not* act like any other C type (the whole pointer-to-bool thing being one example of people doing bad things - I personally would be much happier if _Bool acted more like a one-bit bitfield and could not have its address taken). Linus -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-22 1:45 ` Andrew Morton 2012-06-22 2:22 ` Linus Torvalds @ 2012-06-22 3:33 ` Linus Torvalds 2012-06-22 3:59 ` Linus Torvalds 2012-06-22 7:12 ` Ingo Molnar 2 siblings, 1 reply; 10+ messages in thread From: Linus Torvalds @ 2012-06-22 3:33 UTC (permalink / raw) To: Andrew Morton Cc: David Rientjes, Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm, Peter Zijlstra, Ingo Molnar On Thu, Jun 21, 2012 at 6:45 PM, Andrew Morton <akpm@linux-foundation.org> wrote: > >> I wonder if I should make sparse warn about any casts to/from enums. >> They tend to always be wrong. > > I think it would be worth trying, see how much fallout there is. Also > casts from "enum a" to "enum b". We've had a few of those, > unintentionally. Ugh. We have this all over. Well, at least in multiple places. Like <linux/personality.h>, which does things like PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT, where PER_LINUX_32BIT is one enum, and ADDR_LIMIT_32BIT is a different one. And things like WORK_STRUCT_PENDING = 1 << WORK_STRUCT_PENDING_BIT, in <linux/workqueue.h> is similar. Sure, my quick warning generator gives lots of extraneous warnings, and it complains about the above kind of "mixing enum with int" behavior, but the above is a very real example of casting an enum to an integer. And we *want* it to happen in the above cases. I'll see what it looks like if I only warn about casting *to* an enum. Linus -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-22 3:33 ` Linus Torvalds @ 2012-06-22 3:59 ` Linus Torvalds 0 siblings, 0 replies; 10+ messages in thread From: Linus Torvalds @ 2012-06-22 3:59 UTC (permalink / raw) To: Andrew Morton Cc: David Rientjes, Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm, Peter Zijlstra, Ingo Molnar On Thu, Jun 21, 2012 at 8:33 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote: > > I'll see what it looks like if I only warn about casting *to* an enum. Hmm. That results in much fewer warnings. Not that I'm sure that my sparse hack is right. But for my normal build (which is pretty minimal), I get: drivers/ata/libahci.c:1786:16: warning: casting to an enum type drivers/ata/libata-sff.c:1662:16: warning: casting to an enum type drivers/gpu/drm/i915/i915_irq.c:2300:16: warning: casting to an enum type drivers/gpu/drm/i915/i915_irq.c:2544:16: warning: casting to an enum type drivers/gpu/drm/i915/i915_irq.c:740:16: warning: casting to an enum type drivers/gpu/drm/i915/intel_panel.c:319:50: warning: casting to an enum type drivers/input/mouse/lifebook.c:148:59: warning: casting to an enum type drivers/input/mouse/lifebook.c:153:80: warning: casting to an enum type drivers/input/mouse/lifebook.c:156:59: warning: casting to an enum type drivers/input/mouse/lifebook.c:159:73: warning: casting to an enum type drivers/input/mouse/synaptics.c:1129:86: warning: casting to an enum type drivers/input/serio/i8042.c:533:16: warning: casting to an enum type drivers/input/serio/i8042.c:693:16: warning: casting to an enum type drivers/net/ethernet/realtek/r8169.c:5860:16: warning: casting to an enum type drivers/pci/probe.c:511:26: warning: casting to an enum type drivers/tty/serial/8250/8250.c:1556:16: warning: casting to an enum type drivers/usb/host/xhci-ring.c:2419:24: warning: casting to an enum type fs/sysfs/sysfs.h:114:51: warning: casting to an enum type include/linux/mm.h:660:47: warning: casting to an enum type kernel/sched/rt.c:32:21: warning: casting to an enum type kernel/time/alarmtimer.c:231:16: warning: casting to an enum type kernel/time/alarmtimer.c:439:16: warning: casting to an enum type lib/zlib_deflate/deflate.c:1035:13: warning: casting to an enum type lib/zlib_deflate/deflate.c:1041:13: warning: casting to an enum type lib/zlib_deflate/deflate.c:1044:5: warning: casting to an enum type lib/zlib_deflate/deflate.c:1045:30: warning: casting to an enum type lib/zlib_deflate/deflate.c:1138:21: warning: casting to an enum type lib/zlib_deflate/deflate.c:1140:5: warning: casting to an enum type lib/zlib_deflate/deflate.c:1141:30: warning: casting to an enum type lib/zlib_deflate/deflate.c:1233:25: warning: casting to an enum type lib/zlib_deflate/deflate.c:1262:5: warning: casting to an enum type lib/zlib_deflate/deflate.c:1263:30: warning: casting to an enum type net/ipv4/ipmr.c:449:24: warning: casting to an enum type net/ipv4/netfilter/nf_defrag_ipv4.c:58:47: warning: casting to an enum type net/ipv4/netfilter/nf_defrag_ipv4.c:60:48: warning: casting to an enum type net/ipv6/netfilter/nf_defrag_ipv6_hooks.c:49:48: warning: casting to an enum type net/ipv6/netfilter/nf_defrag_ipv6_hooks.c:51:49: warning: casting to an enum type sound/pci/intel8x0.c:821:24: warning: casting to an enum type but the ones I looked at were all ok. Admittedly I only looked at a few (maybe five), though. That said, the drivers/pci/probe.c case is actually ugly code. That "agp_speeds[]" array *could* be an array of the proper enum's, rather than "unsigned char". I don't know why it isn't (but 'unsigned char' may be more efficient than a compiler that might make it an 'int'). So the warning *may* be useful. However, to get sparse to give that warning I had to do some hacks that broke other parts of sparse, so I don't have a good sparse patch yet. I'll look at it some more tomorrow. Linus -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-22 1:45 ` Andrew Morton 2012-06-22 2:22 ` Linus Torvalds 2012-06-22 3:33 ` Linus Torvalds @ 2012-06-22 7:12 ` Ingo Molnar 2012-06-22 7:41 ` Ingo Molnar 2 siblings, 1 reply; 10+ messages in thread From: Ingo Molnar @ 2012-06-22 7:12 UTC (permalink / raw) To: Andrew Morton Cc: Linus Torvalds, David Rientjes, Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm, Peter Zijlstra, Ingo Molnar * Andrew Morton <akpm@linux-foundation.org> wrote: > On Thu, 21 Jun 2012 17:46:52 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote: > > > On Thu, Jun 21, 2012 at 4:46 PM, Andrew Morton > > <akpm@linux-foundation.org> wrote: > > > > > > I can't really do anything with this patch - it's a bug > > > added by Peter's "mm/mpol: Simplify do_mbind()" and added > > > to linux-next via one of Ingo's trees. > > > > > > And I can't cleanly take the patch over as it's all bound > > > up with the other changes for sched/numa balancing. > > > > I took the patch, it looked obviously correct (passing in a > > boolean was clearly crap). > > Ah, OK, the bug was actually "retained" by "mm/mpol: Simplify > do_mbind()". > > I do still ask what the plans are for that patchset.. Somewhat off topic, but the main sched/numa objections were over the mbind/etc. syscalls and the extra configuration space - we dropped those bits and just turned it all into an improved NUMA scheduling feature, as suggested by Peter and me in the original discussion. There were no objections to that approach so the reworked NUMA scheduling/balancing scheme is now in the scheduler tree (tip:sched/core). The mbind/etc. syscall changes and all the related cleanups, speedups and reorganization of the MM code are still in limbo. I dropped them with the rest of tip:sched/numa as nobody from the MM side expressed much interest in them and I wanted to keep things simple and not carry objected-to commits. We can revive them if there's interest and consensus. I suspect once we gather experience with the automatic NUMA scheduling feature we'll see whether it's worth exposing that to user-space as an ABI - or whether we should go back to random placement and forget about it all. Thanks, Ingo -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration 2012-06-22 7:12 ` Ingo Molnar @ 2012-06-22 7:41 ` Ingo Molnar 0 siblings, 0 replies; 10+ messages in thread From: Ingo Molnar @ 2012-06-22 7:41 UTC (permalink / raw) To: Andrew Morton Cc: Linus Torvalds, David Rientjes, Mel Gorman, KOSAKI Motohiro, linux-kernel, linux-mm, Peter Zijlstra, Ingo Molnar * Ingo Molnar <mingo@kernel.org> wrote: > > I do still ask what the plans are for that patchset.. > > Somewhat off topic, but the main sched/numa objections were > over the mbind/etc. syscalls and the extra configuration space > - we dropped those bits and just turned it all into an > improved NUMA scheduling feature, as suggested by Peter and me > in the original discussion. > > There were no objections to that approach so the reworked NUMA > scheduling/balancing scheme is now in the scheduler tree > (tip:sched/core). > > The mbind/etc. syscall changes and all the related cleanups, > speedups and reorganization of the MM code are still in limbo. > > I dropped them with the rest of tip:sched/numa as nobody from > the MM side expressed much interest in them and I wanted to > keep things simple and not carry objected-to commits. >From your mail it appears that you weren't aware that this was all queued up (clearly our fault) - so here's a quick status dump, please let us know what you think and whether we can keep them. The ones with mm/ effect that we kept are these, which are needed for scheduler directed opportunistic/lazy memory migration between nodes: e9941dae8708 mm/mpol: Lazy migrate a process/vma a9ea2f1e496e mm/mpol: Make mempolicy home-node aware 5dca4a911980 mm/mpol: Split and explose some mempolicy functions f1b39afe3e55 mm/mpol: Introduce vma_put_policy() 9fc52f506a4e mm/mpol: Introduce vma_dup_policy() 6494a5f2cb89 mm/mpol: Simplify do_mbind() 65699050e8aa mm: Handle misplaced anon pages 4783af477d3d mm: Migrate misplaced page 147c5c460202 mm/mpol: Check for misplaced page 84f1e3478238 mm/mpol: Add MPOL_MF_NOOP 68d9661d42bf mm/mpol: Add MPOL_MF_LAZY ... 03ed7b538ca0 mm/mpol: Make MPOL_LOCAL a real policy e975d6ac08f3 mm/mpol: Remove NUMA_INTERLEAVE_HIT 8c41549ed1b3 mm/mpol: Re-implement check_*_range() using walk_page_range() 2ab41dd59922 mm: Optimize put_mems_allowed() usage Or with diffstats: e9941dae8708 mm/mpol: Lazy migrate a process/vma mm/mempolicy.c | 84 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) a9ea2f1e496e mm/mpol: Make mempolicy home-node aware mm/mempolicy.c | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) 5dca4a911980 mm/mpol: Split and explose some mempolicy functions mm/mempolicy.c | 111 ++++++++++++++++++++++++++++++++------------------------ 1 file changed, 63 insertions(+), 48 deletions(-) f1b39afe3e55 mm/mpol: Introduce vma_put_policy() mm/mempolicy.c | 5 +++++ mm/mmap.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) 9fc52f506a4e mm/mpol: Introduce vma_dup_policy() mm/mempolicy.c | 11 +++++++++++ mm/mmap.c | 17 +++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) 6494a5f2cb89 mm/mpol: Simplify do_mbind() mm/mempolicy.c | 73 +++++++++++++++++++++++++++++--------------------------- 1 file changed, 38 insertions(+), 35 deletions(-) 65699050e8aa mm: Handle misplaced anon pages mm/memory.c | 17 +++++++++++++++++ mm/swapfile.c | 13 +++++++++++++ 2 files changed, 30 insertions(+) 4783af477d3d mm: Migrate misplaced page mm/mempolicy.c | 19 +++++++++ mm/migrate.c | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 148 insertions(+), 1 deletion(-) 147c5c460202 mm/mpol: Check for misplaced page mm/mempolicy.c | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) 84f1e3478238 mm/mpol: Add MPOL_MF_NOOP mm/mempolicy.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 68d9661d42bf mm/mpol: Add MPOL_MF_LAZY ... mm/mempolicy.c | 20 +++++++----- mm/migrate.c | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- mm/rmap.c | 6 ++-- 3 files changed, 109 insertions(+), 13 deletions(-) 03ed7b538ca0 mm/mpol: Make MPOL_LOCAL a real policy mm/mempolicy.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) e975d6ac08f3 mm/mpol: Remove NUMA_INTERLEAVE_HIT mm/mempolicy.c | 68 +++++++++++++++++--------------------------------------- 1 file changed, 21 insertions(+), 47 deletions(-) 8c41549ed1b3 mm/mpol: Re-implement check_*_range() using walk_page_range() mm/mempolicy.c | 141 ++++++++++++++++++-------------------------------------- 1 file changed, 45 insertions(+), 96 deletions(-) 2ab41dd59922 mm: Optimize put_mems_allowed() usage mm/filemap.c | 4 ++-- mm/hugetlb.c | 4 ++-- mm/mempolicy.c | 14 +++++++------- mm/page_alloc.c | 8 ++++---- mm/slab.c | 4 ++-- mm/slub.c | 16 +++------------- 6 files changed, 20 insertions(+), 30 deletions(-) These are mostly lazy migration facility enablers. On a second note, should we internalize MPOL_MF_LAZY as well, to not expose it to user-space? Thanks, Ingo -- 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> ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2012-06-22 7:42 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-06-21 1:00 [patch 3.5-rc3] mm, mempolicy: fix mbind() to do synchronous migration David Rientjes 2012-06-21 12:42 ` Mel Gorman 2012-06-21 23:46 ` Andrew Morton 2012-06-22 0:46 ` Linus Torvalds 2012-06-22 1:45 ` Andrew Morton 2012-06-22 2:22 ` Linus Torvalds 2012-06-22 3:33 ` Linus Torvalds 2012-06-22 3:59 ` Linus Torvalds 2012-06-22 7:12 ` Ingo Molnar 2012-06-22 7:41 ` Ingo Molnar
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).