All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Martin J. Bligh" <mbligh@aracnet.com>
To: linux-ia64@vger.kernel.org
Subject: Re: [Discontig-devel] [PATCH] another discontig patch
Date: Sat, 21 Jun 2003 14:48:08 +0000	[thread overview]
Message-ID: <marc-linux-ia64-105620690930308@msgid-missing> (raw)
In-Reply-To: <marc-linux-ia64-105618641519753@msgid-missing>

>> +static struct ia64_node_data	*boot_node_data[NR_NODES] __initdata;
>> +static pg_data_t		*pg_data_ptr[NR_NODES] __initdata;
>> +static bootmem_data_t		bdata[NR_NODES] __initdata;
>> +static unsigned long		boot_pernode[NR_NODES] __initdata;
>> +static unsigned long		boot_pernodesize[NR_NODES] __initdata;

The only use that I can *see* (without looking very hard) for 
pg_data_ptr is as pg_data_ptr[node]->bdata, for which you already have
bdata[node], don't you? The fact that you have both pg_data_ptr and
pg_data_ptrs, which seem to do the same thing, but one as initdata,
and one not, is also rather confusing ...

memcpy(boot_node_data[0]->pg_data_ptrs, pg_data_ptr, sizeof(pg_data_ptr));

hmmm.

And aren't boot_pernode and boot_pernodesize really part of bdata?
Seems like there's a lot of complexity in order to save a couple of
pointer dereferences ... during boot ;-) But maybe I'm just misreading
it ;-)

> Maybe it's time for special pernode data like the percpu data?
> Okay, okay, not revelant for this patch yet...

># ifndef CONFIG_VIRTUAL_MEM_MAP
># define	vmem_map		mem_map
># endif
> 
># define pfn_to_page(pfn)	(vmem_map + (pfn))
># define page_to_pfn(page)	((unsigned long) (page - vmem_map))
> 
> In fact I wonder what's so special about mem_map that the symbol
> can't be used for the vmalloc'ed version..
> 
> BTW, what about per-node memmaps for SN2 like it's done for NUMAQ?

I really don't see how you *can't* do that, and have it still work.
If the mem_map is placed in node local memory, and not a size that 
happens to be a complete number of pages, even if you pack it down 
into a vmem_map, it's still not contiguous. So adding a pfn (physical 
page frame number) to the base of vmem_map can NOT give you the correct 
address.

Presumably this *is* working for you ... but I'm buggered if I know how ;-)
Maybe I just need more coffee ;-)

Thanks,

M.


  reply	other threads:[~2003-06-21 14:48 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-06-21  9:06 [Discontig-devel] [PATCH] another discontig patch Christoph Hellwig
2003-06-21 14:48 ` Martin J. Bligh [this message]
2003-06-22  5:53 ` Jesse Barnes
2003-06-22  5:57 ` Jesse Barnes
2003-06-22 15:25 ` Martin J. Bligh
2003-06-23 17:20 ` William Lee Irwin III
2003-07-16 19:29 ` Jesse Barnes
2003-07-16 19:40 ` Matthew Wilcox
2003-07-16 19:51 ` Jesse Barnes
2003-07-16 19:56 ` Erich Focht
2003-07-16 22:37 ` Jesse Barnes
2003-07-17  8:23 ` Erich Focht
2003-07-18  0:16 ` Jesse Barnes
2003-07-18 16:15 ` Erich Focht
2003-07-21 18:46 ` Takayoshi Kochi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=marc-linux-ia64-105620690930308@msgid-missing \
    --to=mbligh@aracnet.com \
    --cc=linux-ia64@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.