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
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
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
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
>
>
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
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
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
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