Port-amd64 archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Merge of rmind-uvmplock branch
yamt%mwd.biglobe.ne.jp@localhost (YAMAMOTO Takashi) wrote:
> >> the idea is to protect pv chains with object lock, right?
> >> is the new locking protocol documented anywhere?
> >
> > Right, object associated with the page (UVM object or anon). That can
> > be asserted by pmaps using a new uvm_page_locked_p() routine.
> >
> > Protocol is not yet documented. Note about extra synchronisation
> > provided by UVM can go into pmap(9) man page. Do you have a good
> > suggestion where to document it in the code?
>
> how about uvm_object.h?
OK, will add some description.
> btw, faulting code locks amap first and then object.
> uvm_map_lock_entry seems to lock them in a reversed order. is it safe?
That is a bug. Fixed. Code paths locked by this routine are small enough,
which is probably a reason why stress tests did not trigger the deadlock.
> > As stated in other forum, ->A loaning is unused for 13 years, has
> > try-lock issue, and loaning in general has performance problems on SMP
> > systems due to expensive TLB flushes (and IPIs). The concept needs to
> > be revisited. It is not in the scope of this branch, so O->A loaning
> > just gets disabled.
> >
> > Thinking about page ownership changes in general - transitions should be
> > done atomically. With loaning, currently, there is a case when a page
> > can be owner-less (if owner disappears, while page is loaned). In such
> > case page ownership should be taken before meta-data changes, and thus
> > relevant locks retain acquired for pmap(9) as well. However, locking
> > protocol for O->A loaning really depends on how (if?) we are going to
> > fix it..
>
> while i personally don't cry if O->A loaning is disposed, it's good to
> make it clear. iirc chuq wanted to keep the functionality.
Right. Chuck did not respond to the last email on this issue, though..
--
Mindaugas
Home |
Main Index |
Thread Index |
Old Index