Re: [Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-12-01 Thread Kevin Wolf
Am 01.12.2017 um 10:51 hat Fam Zheng geschrieben: > On Thu, 11/30 17:04, Paolo Bonzini wrote: > > On 30/11/2017 16:10, Kevin Wolf wrote: > > >> Yes, I agree, but that (using CoMutex around graph change) requires > > >> everything, especially the defer_to_main_loop_bh, runs in a coroutine > > >> con

Re: [Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-12-01 Thread Fam Zheng
On Thu, 11/30 17:04, Paolo Bonzini wrote: > On 30/11/2017 16:10, Kevin Wolf wrote: > >> Yes, I agree, but that (using CoMutex around graph change) requires > >> everything, especially the defer_to_main_loop_bh, runs in a coroutine > >> context, which is exactly what I mean by "introducing 'ubiquito

Re: [Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-11-30 Thread Paolo Bonzini
On 30/11/2017 16:10, Kevin Wolf wrote: >> Yes, I agree, but that (using CoMutex around graph change) requires >> everything, especially the defer_to_main_loop_bh, runs in a coroutine >> context, which is exactly what I mean by "introducing 'ubiquitous >> coroutines'", because currently we don't hav

Re: [Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-11-30 Thread Kevin Wolf
Am 30.11.2017 um 15:34 hat Fam Zheng geschrieben: > On Thu, 11/30 11:31, Kevin Wolf wrote: > > What you really mean is probably connected components in the graph, but > > do we really want to manage merging and splitting object representing > > connected components when a node is added or removed f

Re: [Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-11-30 Thread Fam Zheng
On Thu, 11/30 11:31, Kevin Wolf wrote: > What you really mean is probably connected components in the graph, but > do we really want to manage merging and splitting object representing > connected components when a node is added or removed from the graph? > Especially when that graph change occurs

Re: [Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-11-30 Thread Kevin Wolf
Am 30.11.2017 um 03:03 hat Fam Zheng geschrieben: > On Wed, 11/29 18:25, Kevin Wolf wrote: > > Am 29.11.2017 um 15:49 hat Fam Zheng geschrieben: > > > While we look at the fixes for 2.11, I briefly prototyped this series > > > to see if it makes sense as a simplification of the drain API for > > >

Re: [Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-11-29 Thread Fam Zheng
On Wed, 11/29 18:25, Kevin Wolf wrote: > Am 29.11.2017 um 15:49 hat Fam Zheng geschrieben: > > While we look at the fixes for 2.11, I briefly prototyped this series > > to see if it makes sense as a simplification of the drain API for > > 2.12. > > > > The idea is to let AioContext manage quiesce

Re: [Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-11-29 Thread Kevin Wolf
Am 29.11.2017 um 15:49 hat Fam Zheng geschrieben: > While we look at the fixes for 2.11, I briefly prototyped this series > to see if it makes sense as a simplification of the drain API for > 2.12. > > The idea is to let AioContext manage quiesce callbacks, then the block > layer only needs to do

[Qemu-devel] [PATCH RFC 0/9] block: Rewrite block drain begin/end

2017-11-29 Thread Fam Zheng
While we look at the fixes for 2.11, I briefly prototyped this series to see if it makes sense as a simplification of the drain API for 2.12. The idea is to let AioContext manage quiesce callbacks, then the block layer only needs to do the in-flight request waiting. This lets us get rid of the cal