Messages in this thread | | | Date | Thu, 01 Apr 2010 18:37:23 +0300 | From | Avi Kivity <> | Subject | Re: [COUNTERPATCH] mm: avoid overflowing preempt_count() in mmu_take_all_locks() |
| |
On 04/01/2010 06:32 PM, Andrea Arcangeli wrote: > >> I'm not sure whether this is a real well done April 1st joke or if there >> is someone trying to secure the "bad taste patch of the month" price. >> >> Anyway, I don't see a reason why we can't convert those locks to >> mutexes and get rid of the whole preempt disabled region. >> > Converting those locks to mutexes will also allow to cleanly handle > XPMEM schedule-in-mmu-notifier-handler requirement the right way. >
It would also allow kvm not to take a spinlock over potentially long operations (iterating over rmaps) as it does now.
> For now getting rid of the warning is enough though. Changing the > locking would be possible but it'd slowdown the whole kernel all the > time even if nobody would ever load the kvm or gru kernel modules. > > Let's be practical, this isn't even a syscall, this is only called by > device driver ioctl and it's about losing 1msec or so in latency, to > keep the whole kernel as fast as if mmu notifier didn't exist. I don't > think we should have 1 single wide lock to take in > mmu_notifier_register and then slowdown the kernel when nobody uses > mmu notifier at all. Losing 1msec when a VM starts isn't a big deal > really. If this wasn't the case it wouldn't have been merged in the > first place I think. Besides with -rt these locks aren't going to hurt > latency AFIK. >
Well, with my patch applied they sure will.
-- error compiling committee.c: too many arguments to function
| |