lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.00.1205151425260.1656@chino.kir.corp.google.com>
Date:	Tue, 15 May 2012 14:37:16 -0700 (PDT)
From:	David Rientjes <rientjes@...gle.com>
To:	Peter Zijlstra <a.p.zijlstra@...llo.nl>
cc:	Nishanth Aravamudan <nacc@...ux.vnet.ibm.com>,
	"Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>,
	mingo@...nel.org, pjt@...gle.com, paul@...lmenage.org,
	akpm@...ux-foundation.org, rjw@...k.pl, nacc@...ibm.com,
	paulmck@...ux.vnet.ibm.com, tglx@...utronix.de,
	seto.hidetoshi@...fujitsu.com, tj@...nel.org, mschmidt@...hat.com,
	berrange@...hat.com, nikunj@...ux.vnet.ibm.com,
	vatsa@...ux.vnet.ibm.com, liuj97@...il.com,
	linux-kernel@...r.kernel.org, linux-pm@...r.kernel.org
Subject: Re: [PATCH v3 5/5] cpusets, suspend: Save and restore cpusets during
 suspend/resume

On Tue, 15 May 2012, Peter Zijlstra wrote:

> > Not sure what you're disagreeing with, it only happens with 
> > MPOL_F_STATIC_NODES or MPOL_F_RELATIVE_NODES and I've clearly defined the 
> > behavior in the man page.  I personally never had a use-case for 
> > MPOL_F_RELATIVE_NODES but Paul Jackson asked that it be added for SGI when 
> > we added mempolicy mode flags. 
> 
> So what you're saying is that:
> 
> task t: set_mempolicy(,mask=2-3);
> 
> add t to cpuset A
> 
> A.mems = 0-1
> A.mems = 0-n
> 
> At which point t will again have 2-3, right?
> 

Depends on the mode which was omitted from your set_mempolicy().

When A.mems becomes 0-1, the task obviously also has a mempolicy of 0-1; 
for MPOL_F_STATIC_NODES, the resulting nodemask of (0-1) & (2-3) is empty 
so it falls back to the cpuset placement as required by the documentation, 
and without MPOL_F_STATIC_NODES the nodemask is remapped onto the new set 
which is also 0-1.

When A-mems is changed to 0-n, the task's mempolicy is either

 - 2-3 again (in n >= 3) with MPOL_F_STATIC_NODES, the flag that means we 
   really want these specific nodes when allowed, or

 - 0-1 still without MPOL_F_STATIC_NODES.

> Also, what does it mean to silently return to 2-3 after you've broken
> that promise by forcing it to 0-1 using cpusets?
> 

This obviously isn't the typical usecase and I doubt moving tasks to a 
cpuset with a disjoint set of allowed nodes ever happens in practice since 
cpusets is for NUMA optimizations and its being inappropriately moved 
around.  MPOL_F_STATIC_NODES is typically used when mems are removed from 
a cpuset and then subsequently added later.  Doing 
set_mempolicy(MPOL_INTERLEAVE, 0-3), attaching to cpuset.mems = 0-1, then 
cpuset.mems = 0-3, would result in an interleave over 0-1 before 
MPOL_F_STATIC_NODES was introduced.  With the flag, however, the mems 
becomes 0-3 once again.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ