lkml.org 
[lkml]   [2006]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH] SPARSEMEM + NUMA can't handle unaligned memory regions?
From
Date
On Tue, 2006-05-09 at 15:28 +0100, Andy Whitcroft wrote:
> Andy Whitcroft wrote:
> > 3) record the nid -- when we record the memory present in the system we
> > are passed the nid.
> >
> > Somehow the last of these seems the most logical given we have the
> > correct information at the time we record that we need to instantiate
> > the section. So I had a quick go at something which seems to have come
> > out pretty clean. Attached is a completly untested patch to show what I
> > am proposing.
>
> Ok. Attached is a version which builds and boots. The patch looks
> pretty simple. Michael could you give it a spin on the broken machine
> for me.

Hey, it's not broken, it's just special :D

That works a treat, boots and otherwise seems fine.

> Signed-off-by: Andy Whitcroft <apw@shadowen.org>

> +/*
> + * During early boot we need to record the nid from which we will
> + * later allocate the section mem_map. Encode this into the section
> + * pointer. Overload the section_mem_map with this information.
> + */
> +static inline unsigned long sparse_encode_early_nid(int nid)
> +{
> + return (nid << SECTION_MAP_LAST_BIT);
> +}
> +
> +static inline int sparse_early_nid(struct mem_section *section)
> +{
> + unsigned long nid = section->section_mem_map;
> + return (nid >> SECTION_MAP_LAST_BIT);
> +}

What about just for readability: (in linux/mmzone.h)

#define SECTION_MARKED_PRESENT (1UL<<0)
#define SECTION_HAS_MEM_MAP (1UL<<1)
#define SECTION_MAP_LAST_BIT (1UL<<2)
#define SECTION_NID_SHIFT SECTION_MAP_LAST_BIT

cheers

--
Michael Ellerman
IBM OzLabs

wwweb: http://michael.ellerman.id.au
phone: +61 2 6212 1183 (tie line 70 21183)

We do not inherit the earth from our ancestors,
we borrow it from our children. - S.M.A.R.T Person
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2006-05-10 08:09    [W:0.197 / U:0.976 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site