hi, > y...@mwd.biglobe.ne.jp (YAMAMOTO Takashi) wrote: >> >> > Log Message: >> >> > amap_copy(): Keep the source amap locked until its lock has been >> >> > copied. >> >> >> >> btw, this code seems to assume that uvm_anfree does not release the >> >> lock even temporarily while the comment on uvm_anfree1 says the >> >> opposite. >> > >> > http://www.netbsd.org/~rmind/uvm_anon_freelst.diff >> > >> > Looks good? >> >> i don't understand what it solves. can you explain a little? > > Here is the updated patch after your changes: > > http://www.netbsd.org/~rmind/uvm_anon_freelst2.diff > > As you noted, uvm_anfree() can temporarily release the amap lock - that can > happen in amap_copy(). Patch closes the race by moving uvm_anfree() further, > and changes the semantics of the function, now called uvm_anon_freelst(), to > return with amap lock released (plus free anons without lock held).
the temporary release of the amap lock is only for O->A loan which you disabled, isn't it? YAMAMOTO Takashi > > -- > Mindaugas