public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [patch 0/4] V2 ia64 SPARSEMEM
@ 2005-05-25 15:13 Bob Picco
  2005-05-25 22:44 ` Jack Steiner
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Bob Picco @ 2005-05-25 15:13 UTC (permalink / raw)
  To: linux-ia64

Tony,

ChangeLog V2:
	Jesse's review input has been applied to patches 3 and 4.
	These were all cosmetic changes.

This is a series of patches which enable SPARSEMEM for ia64.  It's against
rc4-mm2.  The patches have been tested against memory configurations FLATMEM,
DISCONTIG and SPARSEMEM.  This includes NUMA simulated hardware, rx2600
and HPSIM.  An early version of ia64 with SPARSEMEM was tested by Jesse. It
would be optimal to have another test pass on SGI NUMA hardware.

Ultimately I would like to eliminate DISCONTIG and VIRTUAL_MEM_MAP. Before 
this can be accomplished, more performance comparisons between SPARSEMEM 
and DISCONTIG+VIRTUAL_MEM_MAP is required.  I did some preliminary performance
work with 2 CPU rx2600.  The results were comparable and no noticeable 
regression was evidenced.  Further work on multi node NUMA machines is
required.

thanks,

bob


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch 0/4] V2 ia64 SPARSEMEM
  2005-05-25 15:13 [patch 0/4] V2 ia64 SPARSEMEM Bob Picco
@ 2005-05-25 22:44 ` Jack Steiner
  2005-05-25 23:20 ` Bob Picco
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Jack Steiner @ 2005-05-25 22:44 UTC (permalink / raw)
  To: linux-ia64

On Wed, May 25, 2005 at 11:13:47AM -0400, Bob Picco wrote:
...
> and HPSIM.  An early version of ia64 with SPARSEMEM was tested by Jesse. It
> would be optimal to have another test pass on SGI NUMA hardware.


I'm away from the office this week, but next week, I'll give the patch
another spin on a big SGI system.

>
>
> VIRTUAL_MEM_MAP was introduced on ia64 because of memory holes on ia64
> platforms. The mem_map of the pglist_data is a pointer to a virtual
> contiguous array of page structures in memory for a node.  To
> eliminate memory waste contiguous memory holes don't have page structures.
> The alternative would be for holes in memory to be represented by reserve
> page structures.  The VIRTUAL_MEM_MAP solutions requires ia64_pfn_valid
> and a hook in the buddy allocator to check for holes in memory.
>
> SPARSEMEM has eliminated mem_map, ia64_pfn_valid and the buddy allocator
> hook.  There is a small cost for SPARSEMEM.  Any section which has both
> memory and holes requires reserved pages for the holes.  I can see

Our systems are notorious for having large holes in memory on nodes. For example,
a node may have memory at node offsets 0, 16GB, 32GB & 48GB. At each offset, you
can have a chunk of 1 to 16GB. For example, a typical system might have memory 
at the following node offsets:
    Memory at
         0 -  4GB
	16 - 20GB
	32 - 36GB
	48 - 52GB

You are guaranteed to have memory at node offset 0. Memory may or
may not exist at the other offsets.

I haven't had a chance to look at the patch, but will page struct entries 
will be allocated for the pages in the holes (4GB-16GB, etc).



-- 
Thanks

Jack Steiner (steiner@sgi.com)          651-683-5302
Principal Engineer                      SGI - Silicon Graphics, Inc.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch 0/4] V2 ia64 SPARSEMEM
  2005-05-25 15:13 [patch 0/4] V2 ia64 SPARSEMEM Bob Picco
  2005-05-25 22:44 ` Jack Steiner
@ 2005-05-25 23:20 ` Bob Picco
  2005-06-09 19:47 ` Jack Steiner
  2005-06-09 19:59 ` Bob Picco
  3 siblings, 0 replies; 5+ messages in thread
From: Bob Picco @ 2005-05-25 23:20 UTC (permalink / raw)
  To: linux-ia64

Jack Steiner wrote:	[Wed May 25 2005, 06:44:06PM EDT]
> On Wed, May 25, 2005 at 11:13:47AM -0400, Bob Picco wrote:
> ...
> > and HPSIM.  An early version of ia64 with SPARSEMEM was tested by Jesse. It
> > would be optimal to have another test pass on SGI NUMA hardware.
> 
> 
> I'm away from the office this week, but next week, I'll give the patch
> another spin on a big SGI system.
Great!
> 
> >
> >
> > VIRTUAL_MEM_MAP was introduced on ia64 because of memory holes on ia64
> > platforms. The mem_map of the pglist_data is a pointer to a virtual
> > contiguous array of page structures in memory for a node.  To
> > eliminate memory waste contiguous memory holes don't have page structures.
> > The alternative would be for holes in memory to be represented by reserve
> > page structures.  The VIRTUAL_MEM_MAP solutions requires ia64_pfn_valid
> > and a hook in the buddy allocator to check for holes in memory.
> >
> > SPARSEMEM has eliminated mem_map, ia64_pfn_valid and the buddy allocator
> > hook.  There is a small cost for SPARSEMEM.  Any section which has both
> > memory and holes requires reserved pages for the holes.  I can see
> 
> Our systems are notorious for having large holes in memory on nodes. For example,
> a node may have memory at node offsets 0, 16GB, 32GB & 48GB. At each offset, you
> can have a chunk of 1 to 16GB. For example, a typical system might have memory 
> at the following node offsets:
>     Memory at
>          0 -  4GB
> 	16 - 20GB
> 	32 - 36GB
> 	48 - 52GB
> 
> You are guaranteed to have memory at node offset 0. Memory may or
> may not exist at the other offsets.
> 
> I haven't had a chance to look at the patch, but will page struct entries 
> will be allocated for the pages in the holes (4GB-16GB, etc).
No there won't be page structures allocated for regions which are holes.
The default SECTION_BITS value of 28 is for a 256Mb aligned section. So memory
not reported (via efi memory descriptor walk) in a section  won't have page 
structs. The function register_sparse_mem in discontig.c calls SPARSEMEM
to validate a memory section. Only valid sections are subject to page
structure allocation later in initialization.
> 
> 
> 
> -- 
> Thanks
> 
> Jack Steiner (steiner@sgi.com)          651-683-5302
> Principal Engineer                      SGI - Silicon Graphics, Inc.
> 
your welcome and thanks,

bob
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch 0/4] V2 ia64 SPARSEMEM
  2005-05-25 15:13 [patch 0/4] V2 ia64 SPARSEMEM Bob Picco
  2005-05-25 22:44 ` Jack Steiner
  2005-05-25 23:20 ` Bob Picco
@ 2005-06-09 19:47 ` Jack Steiner
  2005-06-09 19:59 ` Bob Picco
  3 siblings, 0 replies; 5+ messages in thread
From: Jack Steiner @ 2005-06-09 19:47 UTC (permalink / raw)
  To: linux-ia64

On Wed, May 25, 2005 at 05:44:06PM -0500, Jack Steiner wrote:
> On Wed, May 25, 2005 at 11:13:47AM -0400, Bob Picco wrote:
> ...
> > and HPSIM.  An early version of ia64 with SPARSEMEM was tested by Jesse. It
> > would be optimal to have another test pass on SGI NUMA hardware.
> 
> 
> I'm away from the office this week, but next week, I'll give the patch
> another spin on a big SGI system.
> 

Sorry to have taken so long but I had a number of problems getting the latest 
mm kernel to run reliably on our large systems. 

All of the page fault intensive tests that I ran on a 64p showed essentially
the same performance with & w/o SPARSEMEM enabled. 

I also ran AIM7 but was unsucessful drawing any conclusions from the results.
Something in the latest tree is causing large run-to-run variations - almost 2:1
at some load points. I'm trying  to determine the cause of these variations.

I have not had a chance to pull down the latest SPARSEMEM patches. I'll
do that once I understand the cause of the run-to-run variations.

-- 
Thanks

Jack Steiner (steiner@sgi.com)          651-683-5302
Principal Engineer                      SGI - Silicon Graphics, Inc.



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [patch 0/4] V2 ia64 SPARSEMEM
  2005-05-25 15:13 [patch 0/4] V2 ia64 SPARSEMEM Bob Picco
                   ` (2 preceding siblings ...)
  2005-06-09 19:47 ` Jack Steiner
@ 2005-06-09 19:59 ` Bob Picco
  3 siblings, 0 replies; 5+ messages in thread
From: Bob Picco @ 2005-06-09 19:59 UTC (permalink / raw)
  To: linux-ia64

Jack Steiner wrote:	[Thu Jun 09 2005, 03:47:13PM EDT]
> On Wed, May 25, 2005 at 05:44:06PM -0500, Jack Steiner wrote:
> > On Wed, May 25, 2005 at 11:13:47AM -0400, Bob Picco wrote:
> > ...
> > > and HPSIM.  An early version of ia64 with SPARSEMEM was tested by Jesse. It
> > > would be optimal to have another test pass on SGI NUMA hardware.
> > 
> > 
> > I'm away from the office this week, but next week, I'll give the patch
> > another spin on a big SGI system.
> > 
> 
> Sorry to have taken so long but I had a number of problems getting the latest 
> mm kernel to run reliably on our large systems. 
> 
> All of the page fault intensive tests that I ran on a 64p showed essentially
> the same performance with & w/o SPARSEMEM enabled. 
> 
> I also ran AIM7 but was unsucessful drawing any conclusions from the results.
> Something in the latest tree is causing large run-to-run variations - almost 2:1
> at some load points. I'm trying  to determine the cause of these variations.
> 
> I have not had a chance to pull down the latest SPARSEMEM patches. I'll
> do that once I understand the cause of the run-to-run variations.
Jack,

Great. thanks.

Please hold off on fetching latest SPARSEMEM.  I'm about to post V3 of 
ia64 SPARSEMEM.  It depends on an Andy -mm patch acked by Andrew and two 
-mm patches by me not acked by Andrew.

thanks,

bob
> 
> -- 
> Thanks
> 
> Jack Steiner (steiner@sgi.com)          651-683-5302
> Principal Engineer                      SGI - Silicon Graphics, Inc.
> 
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-06-09 19:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-25 15:13 [patch 0/4] V2 ia64 SPARSEMEM Bob Picco
2005-05-25 22:44 ` Jack Steiner
2005-05-25 23:20 ` Bob Picco
2005-06-09 19:47 ` Jack Steiner
2005-06-09 19:59 ` Bob Picco

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox