Re: [lc-devel] UML swap bug fixed
Status: Beta
Brought to you by:
nitin_sf
From: David C. <dav...@rc...> - 2002-01-12 09:53:43
|
Is this the bug that I point out in my previous mail to the list? Or it is caused by a different issue? Please clarify, since I don't have enough time to understand all the code at the moment. Thanks. David Rodrigo Souza de Castro wrote: >Hi there, > >Finally Jeff seems to have fixed that bug which screwed up our vswap >addresses. I think I can continue developing under UML :-) > >----- Forwarded message from Jeff Dike <jd...@ka...> ----- > >Date: Thu, 10 Jan 2002 22:16:18 -0500 >From: Jeff Dike <jd...@ka...> >Subject: Re: [uml-devel] swap entry and newpage bit >To: Rodrigo Souza de Castro <rc...@im...> >Cc: use...@li... > >rc...@im... said: > >>The problem I noticed is that, when setting a pte to a swap entry, the >>NEWPAGE bit is turned on to tell fix_range() that this address should >>be unmapped. It turns out that, for swap adresses that are shared by >>many ptes, the address is not unmapped and the NEWPAGE bit is not >>turned off soon enough before any pte faults. Then, in fault handlers >>(handle_pte_fault() and do_swap_page()), the pte has a wrong value, so >>I can't find the page in swap cache. For example, if the swap cache >>page is set to 0x3307c and the wrong pte is set to 0x3307e (due to >>newpage bit), I won't be able to find it. >> > >This is an excellent description of the bug that I just spend 5 days chasing. > >Unfortunately, I didn't until recently (yesterday) understand enough of the >swap code to tell whether you were describing something real or whether >you were on crack. > >It is now fixed. > >pte_to_swp_entry now masks off the arch bits. > > Jeff > >----- End forwarded message ----- > |