On Sun, 2011-03-20 at 18:41 -0700, Hugh Dickins wrote: > > I don't know what the right way to fix that is. We have an absolute > > requirement that the batching we start within a lazy MMU section > > is complete and flushed before any other PTE in that section can be > > touched by anything else. Do we -at least- keep that guarantee ? > > I'm guessing it's a guarantee of the same kind as led me to skip > page_table_lock on init_mm in 2.6.15: no locking to guarantee it, > but it would have to be a kernel bug, in a driver or wherever, > for us to be accessing such a section while it was in transit > (short of speculative access prior to tlb flush).
As long as the races to avoid are between map/unmap vs. access, yes, it -should- be fine, and we used to not do demand faulting on kernel space (but for how long ?). I'm wondering why we don't just stick a ptl in there or is there a good reason why we can't ? > I don't see where you're doing batching on init_mm today: > it looks as if Jeremy's patches, by using the same code as he has > for user mms, are now enabling batching on init_mm, and you should :-) > > But I may be all wrong: it's between you and Jeremy, > and until he defends them, his patches should not go forward. We don't do it today (batching). Jeremy's patches have the side effect of "enabling" it, which isn't wrong per-se ... but on our side relies on some locking assumptions we are missing. Cheers, Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev