[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] struct page_info on x86-64

  • To: Jan Beulich <jbeulich@xxxxxxxxxx>, <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • From: Keir Fraser <keir@xxxxxxxxxxxxx>
  • Date: Tue, 03 Apr 2007 10:39:47 +0100
  • Delivery-date: Tue, 03 Apr 2007 02:38:49 -0700
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>
  • Thread-index: Acd11ARbQvzm0OHHEdurGAAX8io7RQ==
  • Thread-topic: [Xen-devel] struct page_info on x86-64

On 3/4/07 10:13, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:

> I am getting the impression that struct page_info could (in the default case)
> be reduced from 40 to 32 bytes after the 3.0.4/5 changes, which no longer
> appear to require type_info and shadow_flags to be unsigned long (they
> could both be unsigned int aka u32). The only hindrance then is cpumask_t
> being defined as an array of longs, whereas this doesn't really need to be
> 64 bits wide unless NR_CPUS exceeds 32. Is it worth trying to change
> cpumask_t for that purpose (improving performance of frame table
> accesses as well as bumping supportable memory from approximately
> 1.6Tb to 2Tb)?

The cpumask stuff is all built on top of Linux bitmap code which assumes an
array of longs. I suppose we could change it so that the architecture gets
to choose the container type for the bits (and we could make that u32 for
x86 builds)? I'm not sure how invasive that would be, however. I wonder if
the benefit is sufficient, compared with putting effort into stripping out
use of the BIGLOCK from hot paths, for example?

 -- Keir

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.