From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: [PATCH 00/12] cpumask handling scalability improvements Date: Fri, 21 Oct 2011 09:00:38 +0100 Message-ID: References: <4EA13711020000780005CA36@nat28.tlf.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <4EA13711020000780005CA36@nat28.tlf.novell.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: Jan Beulich Cc: Andrew Cooper , "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org On 21/10/2011 08:10, "Jan Beulich" wrote: >> Aren't we planning to dynamically allocate irq_desc-s? That would seem the >> nicer solution here. > > Yes, I would hope so. But irrespective of that, allocating e.g. 512 bits > (times 4) just to use, say, 20-30 of them is bad - again, not so much > from a memory wasting pov, but rather from the fact that this > needlessly causes a larger cache and TLB footprint. Oh, I don't mind you changing irq_desc to use cpumask_var_t-s. It's the extra step of using an array to save a few pointers, that I reject. > I actually think that ultimately we should try to remove all > non-dynamically allocated CPU masks (including statics, per-CPU > ones, and local variables - the latter being particularly important as > they cause pretty big stack frames, despite there now being at > most one [with the rare exception of two] of them per function, > which will continue to grow with higher NR_CPUS values). OTOH they are probably in some cases used in contexts where dynamic allocation (and possibility of failure) is not nice? And we can compare this effort with just increasing per-cpu stack sizes, for example? I'm not particularly against moving in this direction, but there might be cases where it isn't worth the effort, or there are better solutions. -- Keir