On 2012-10-09 14:01, Paolo Bonzini wrote: > Il 09/10/2012 13:55, Avi Kivity ha scritto: >> Oh, agree 100% raw + native aio wants to bypass coroutines/threads >> completely. > > Even posix-aio-compat can bypass coroutines. > >> We could perhaps even avoid refcounting, by shutting down the device >> thread as part of hotunplug. > > Yes, you "just" join the thread, ask it to exit, and not hot-unplug > until it's done. > >> [could we also avoid refcounting by doing the equivalent of >> stop_machine() during hotunplug?] > > That's quite an interesting alternative.
Not sure about the full context of this discussion, but I played with "stop-machine" (pause_all_vcpus) recently. The problem is, at least ATM, that it drops the BQL to wait for those threads, and that creates an unexpected rescheduling point over which a lot of code stumbles. But if this case here is about new, accordingly written code that is also not called from unprepared corners, it may work. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux
