lkml.org 
[lkml]   [2009]   [Jul]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [Bug Fix]: Do 32-bit table calculations in pre-processor
Date
On Fri July 3 2009, H. Peter Anvin wrote:
> Michael S. Zick wrote:
> >>
> >> The PGTABLE reservation seems much too big. I think 1 page should be
> >> sufficient for a system with large pages. Even if not, 0x6d000 is way
> >> too large. And they symptoms of failing to reserve the initial
> >> pagetable are pretty non-subtle.
> >>
> >
> > Random system halts, deadlocks with interrupts disabled?
> > Yup, that sounds familiar.
> >
> > If I ever get more than a stopped machine with a glowing power light;
> > I will be certain to share.
> >
>
> Let's see... on a non-PSE system we may need one PDE and one PTE page
> per 4 MB, up to 1 GB, for a total of 256 pages or 1 MB of memory, so in
> that sense 0x6d000 (109 pages) doesn't sound at all unreasonable
> (non-PSE system with 512 MB of RAM?)
>
> However, we shouldn't have to do this kind of hacks with
> MAPPING_BEYOND_END, and we *certainly* shouldn't do it by implicitly
> hard-coding the value of PAGE_SHIFT.
>

Good point: (1<<(32-PAGE_SIFT)) would handle other than 4k pages.

I just hardcoded it as a working example of the change from setting
the page table size by design rather than numeric error.

And yes, it has 512Mbyte of ram, so 1/2Mbyte page table sounds right to me.

Mike
> -hpa
>




\
 
 \ /
  Last update: 2009-07-03 21:43    [W:0.076 / U:0.192 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site