On Wed, 2 Jan 2013, Linus Torvalds wrote: > On Wed, Jan 2, 2013 at 7:57 AM, Christoph Lameter <cl@xxxxxxxxx> wrote: > > On Wed, 2 Jan 2013, Hugh Dickins wrote: > > > >> @@ -2796,10 +2787,7 @@ int mpol_to_str(char *buffer, int maxlen > >> case MPOL_BIND: > >> /* Fall through */ > >> case MPOL_INTERLEAVE: > >> - if (no_context) > >> - nodes = pol->w.user_nodemask; > >> - else > >> - nodes = pol->v.nodes; > >> + nodes = pol->v.nodes; > >> break; > >> > > > > no_context was always true. Why is the code from the false branch kept? > > no_context is zero in the caller in fs/proc/task_mmu.c, and one in the > mm/shmem.c caller. So it's not always true (for mpol_parse_str() there > is only one caller, and it's always true as Hugh said). Yes, I think Christoph was remembering the old days when mpol_to_str() started out just for tmpfs; later /proc/pid/numa_maps extended it for use on vmas (the "contextualized" !no_context case). > > Anyway, I do not know why Hugh took the true case, but I don't really > imagine that it matters. So I'll take these two patches, but it would > be good if you double-checked this, Hugh. Thanks, yes, I played with a number of ways of fixing it (and sat on my original fix for several days, rightly guessing this an area where more problems would emerge - only later realizing mpol=prefer:Node wrong too). I could probably have kept mpol_to_str()'s no_context arg, and done something with it in the MPOL_PREFERRED case; perhaps would have chosen that if the arg had been more understandably named than "no_context"; but in the end thought removing the need for the arg was simplest. Hugh -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>