lkml.org 
[lkml]   [2000]   [Mar]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Where is memory handed out?
Date
Hi Nathan:

> [...] if you were to specify, for instance, one bad byte
> every 8k, you would get a series of single pages unavailable to handle mem
> requests of larger amounts.

I am not 100% certain of how VM-allocation works but...

In mm/vmalloc.c, the nesting of routines to do virtual memory allocation is:
vmalloc
vmalloc_area_pages
alloc_area_pmd
alloc_area_pte
__get_free_page
The latter routine is defined in mm/page_alloc.c and allocates a single
page. And for virtual memmory, that is the right thing to do. The kernel
may need long stretches of pages in sequence, but user processes are quite
happy to deal with loose pages concatenated any way.

In a DIMM that I got working, there is an 8MB range in which error bytes
are separated by 8kB and 24kB in turn. In the 8kB, there's one useful page
(on i386), in the 24kB there are 5. Together, 6 pages out of 8.
You would prefer to throw out 8MB whereas I only sacrifice 2MB. Your
memory map (instead of the :X notation) may however make a difference.
I am curious about your memory map syntax, and I wonder if it requires a
parser (I use available routines for cmdline parsing).


I do not intend to let this become a competition; I just want to learn of
alternatives and perhaps teach others while at it.


Cheers,
-Rick.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:57    [W:0.059 / U:0.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site