Re: [PATCH 4/6] kvm tools: Add rwlock wrapper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/28/2011 09:32 PM, Ingo Molnar wrote:
* Avi Kivity<avi@xxxxxxxxxx>  wrote:

>  >  So if you set a notification signal via fcntl(F_SETOWN) on the
>  >  scheduler context switch event fd, the user-space RCU code will
>  >  get a signal on every context switch.
>
>  Context switches are completely uninteresting for userspace rcu:
>
>    rcu_read_lock();
>    --->  context switch
>
>  have we learned anything from that?  no.  User code is always
>  preemptible and migratable.  If rcu_read_lock() prevented migration
>  somehow, then we'd know that a context switch means we've started a
>  grace period for this thread.  But it doesn't, so we don't.

Well, in the next mail i mentioned that we can do migration events as
well, which would be useful: instead of having to keep track of
nr_tasks RCU grace periods we could simplify it down to nr_cpus.

I don't see how a migration event helps. It is completely transparent from the task's point of view.

But if we indexed by the TID then we wouldnt need any scheduler
bindings at all - this is the simpler approach.

Yes, and it maps 1:1 to the kernel implementation (cpu = task).

>  What's needed are explicit notifications about grace periods.  For
>  the vcpu threads, calling KVM_VCPU_RUN seems like a good point.
>  For I/O threads, completion of processing of an event is also a
>  good point.

Grace period notifications are needed too, obviously.

I'd think they're sufficient, no?  Is something else needed?

--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux