[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] xen.git branch reorg / success with 2.6.30-rc3 pv_ops dom0
On Tue, Jun 09, 2009 at 04:37:52PM +0100, Ian Campbell wrote: > On Tue, 2009-06-09 at 10:53 -0400, Pasi Kärkkäinen wrote: > > > > > > And here's one with only the second patch applied: > > http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-log-07-with-highpte-no-swap-with-debug5.txt > > > > Now Xen is complaining again.. does that sound correct? > > Well, it suggests my theory around pte locking and split pte locks may > be invalid... I guess even without split pte locks the call to > kmap_atomic_pte from page_check_address() is still outside > mm->page_table_lock and hence subject to the race. > > Without redoing the core locking rules I'm not sure what we could do > about that. Perhaps as a workaround always doing kmap_atomic_pte as a > read only mapping would be sufficient (it seems to be in this particular > call chain which never writes the pte but I didn't check them all and I > guess some of them must want to write). > > Does this patch (without any of the others) make any difference to you? > Yeah, now the kernel crashes very early during system startup :) http://pasik.reaktio.net/xen/pv_ops-dom0-debug/pv_ops-dom0-log-08-with-highpte-no-swap-with-debug6.txt -- Pasi > --- a/arch/x86/xen/mmu.c > +++ b/arch/x86/xen/mmu.c > @@ -1522,7 +1522,7 @@ static void *xen_kmap_atomic_pte(struct page *page, > enum km_type type) > { > pgprot_t prot = PAGE_KERNEL; > > - if (PagePinned(page)) > + if (1 || PagePinned(page)) > prot = PAGE_KERNEL_RO; > > if (0 && PageHighMem(page)) > > > Ian. > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |