Re: uvm_object::vmobjlock

2010-01-30 Thread David Holland
On Thu, Jan 28, 2010 at 09:55:53PM +, Mindaugas Rasiukevicius wrote: > Unless anyone objects, I would like to change struct > uvm_object::vmobjlock to be dynamically allocated with > mutex_obj_alloc(). It allows us to: 1) share the lock among > objects by holding a refere

Re: uvm_object::vmobjlock

2010-01-28 Thread Antti Kantee
On Fri Jan 29 2010 at 02:03:23 +, Mindaugas Rasiukevicius wrote: > > If you are talking about memory not within the object, well, then "all > > bets are off" applies. I might argue equally handwavily that you'll > > cause false sharing with other locks from the mutex obj pool, and even > > for

Re: uvm_object::vmobjlock

2010-01-28 Thread Mindaugas Rasiukevicius
Antti Kantee wrote: > <...> Given the gruesome size of the rototill, I think you'll agree > it's important for everyone to have a clear idea about the implications > beforehand beyond "it'll be better". Agree, hence this thread. > If you are talking about memory not within the object, well, then

Re: uvm_object::vmobjlock

2010-01-28 Thread Antti Kantee
On Thu Jan 28 2010 at 23:08:07 +, Mindaugas Rasiukevicius wrote: > > 1) can you give an example of where this is useful? (i'm not saying it > >isn't, i just don't like thinking ;) > > Further locking improvements: > > http://mail-index.netbsd.org/tech-kern/2009/01/11/msg003986.html > >

Re: uvm_object::vmobjlock

2010-01-28 Thread Eduardo Horvath
On Thu, 28 Jan 2010, Mindaugas Rasiukevicius wrote: > Antti Kantee wrote: > > > Unless anyone objects, I would like to change struct > > > uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc > > > (). It allows us to: 1) share the l

Re: uvm_object::vmobjlock

2010-01-28 Thread Mindaugas Rasiukevicius
Antti Kantee wrote: > > Unless anyone objects, I would like to change struct > > uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc > > (). It allows us to: 1) share the lock among objects by holding a > > reference 2) avoid false-sharing on

Re: uvm_object::vmobjlock

2010-01-28 Thread Antti Kantee
On Thu Jan 28 2010 at 21:55:53 +, Mindaugas Rasiukevicius wrote: > Hello, > > Unless anyone objects, I would like to change struct uvm_object::vmobjlock to > be dynamically allocated with mutex_obj_alloc(). It allows us to: 1) share > the lock among objects by holding a refe

uvm_object::vmobjlock

2010-01-28 Thread Mindaugas Rasiukevicius
Hello, Unless anyone objects, I would like to change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to: 1) share the lock among objects by holding a reference 2) avoid false-sharing on locks. Note that struct vnode::v_interlock becomes a pointer