From: "Martin J. Bligh" <Martin.Bligh@us.ibm.com>
To: Andrew Morton <akpm@zip.com.au>
Cc: linux-mm mailing list <linux-mm@kvack.org>
Subject: Re: clean up mem_map usage ... part 1
Date: Fri, 16 Aug 2002 14:37:00 -0700 [thread overview]
Message-ID: <2448940000.1029533820@flay> (raw)
In-Reply-To: <3D5D6CFF.9153184D@zip.com.au>
> Looks good, thanks. I'll nail an unneeded typecast in there.
>
> My queue runneth over at present, and the kmap patches need to
I'm not suprised ;-) I can queue more stuff here rather than send it
to your queue, but I'd like you to keep an eye on me before I go too far
astray from what you want to see ;-)
> I won't send the rmap locking hacklets until we've nailed that
> BUG in __free_pages_ok.
That seems to occur with 2.5.31, AFIACS, it's not the extra patches
you have ... unless you mean just not stirring the pot at the moment.
> Does pci_map_page() work on discontigmem?
I think it will now I've replaced it with the macro, definitely wouldn't
have done before.
> What _is_ zone_start_mapnr?
A stinking piece of crap that I'm going to rip out in round 2 ;-)
Just testing that now .... (along with node_start_mapnr)
Basically, unless I'm very much mistaken the two things we have
floating around are
1. pfn - this is a page frame number and
pfn == physaddr >> PAGE_SHIFT
2. mapnr. This is the index into the mem_map array. For contigmem,
thats equiv to a pfn, and more or less made some sense.
For discontigmem that's a nasty hack. We don't have a mem_map array,
we have an lmem_map array per pg_data_t (aka node or memory chunk).
But we somehow decided to define mem_map = PAGE_OFFSET, then
retend the whole of the virtual address space is some kind of klunky
mem_map array with holes in. So node_start_mapnr = lmem_map - mem_map ....
except that's really arith on struct pages, so it's the distance / sizeof(struct page).
So we have to align lmem_map allocations on a boundary of size sizeof(struct page),
except that's really a boundary from PAGE_OFFSET, not absolute vaddr.
Gack. Look at free_area_init_core. It's unpleasant ;-)
M.
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
next prev parent reply other threads:[~2002-08-16 21:37 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-16 20:45 clean up mem_map usage ... part 1 Martin J. Bligh
2002-08-16 21:22 ` Andrew Morton
2002-08-16 21:37 ` Martin J. Bligh [this message]
2002-08-16 21:58 ` Andrew Morton
2002-08-16 22:15 ` Martin J. Bligh
2002-08-17 0:32 ` Rik van Riel
2002-08-17 1:23 ` Andrew Morton
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=2448940000.1029533820@flay \
--to=martin.bligh@us.ibm.com \
--cc=akpm@zip.com.au \
--cc=linux-mm@kvack.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.