[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] Xen-unstable panic: FATAL PAGE FAULT
>>> On 31.08.10 at 18:01, Keir Fraser <keir.fraser@xxxxxxxxxxxxx> wrote: > On 31/08/2010 16:07, "Jan Beulich" <JBeulich@xxxxxxxxxx> wrote: > >>>>> On 31.08.10 at 16:49, Keir Fraser <keir.fraser@xxxxxxxxxxxxx> wrote: >>> I'm cc'ing Jan to see what we can get away with in doing arithmetic on >>> page_info pointers. What's the guaranteed smallest aligned contiguous ranges >>> of mfn in the frame_table now, Jan? (i.e., ranges in which adjacent >>> page_info structs relate to adjacent MFNs) >> >> Any range of struct page_info-s that crosses a 2Mb boundary is >> unsafe to make assumptions upon > > Where is even that constraint ensured in the code? I can't see it (I would > have assumed that pfn_pdx_hole_setup() would be ensuring it). That's somewhat implicit: srat_parse_regions() gets passed an address that is at least BOOTSTRAP_DIRECTMAP_END (i.e. 4G). Thus srat_parse_regions() starts off with a mask with the lower 32 bits all set (only more bits can get set subsequently). Thus the earliest zero bit pfn_pdx_hole_setup() can find is bit 20 (due to the >> PAGE_SHIFT in the invocation). Consequently the smallest chunk where arithmetic is valid really is 4Gb, not 256Mb as I first wrote. Jan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |