* Sasha Levin <[email protected]> wrote:
> On Thu, 2011-05-26 at 19:02 +0300, Pekka Enberg wrote:
> > On Thu, 26 May 2011, Sasha Levin wrote:
> > > Adds a rwlock wrapper which like the mutex wrapper makes rwlock calls
> > > similar to their kernel counterparts.
> > >
> > > Signed-off-by: Sasha Levin <[email protected]>
> >
> > There's no explanation why a mutex isn't sufficient. The pthread
> > locking primitives aren't all that great in practice so unless
> > you have some correctness issue that requires a rwlock or some
> > numbers, I'd prefer you go for a mutex.
>
> I've added some rwlocks because of what Ingo said yesterday about
> adding/removing devices after the first initialization phase.
>
> Take MMIO lock for example: Since we can now run SMP guests, we may
> have multiple MMIO exits (one from each VCPU thread). Each of those
> exits leads to searching the MMIO rbtree.
>
> We can use a mutex to lock it, but it just means that those threads
> will be blocked there instead of concurrently searching the MMIO
> tree which makes the search linear instead of parallel.
>
> It's hard to bring 'real' numbers at this stage because the only
> 'real' device we have which uses MMIO is the VESA driver, and we
> can't really simulate many VCPUs writing to it :)
I'd suggest keeping it simple first - rwlocks are nasty and will
bounce a cacheline just as much.
If lookup scalability is an issue we can extend RCU to tools/kvm/.
Thanks,
Ingo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html