Liu, --On 21 July 2013 16:42:57 +0800 Liu Ping Fan <qemul...@gmail.com> wrote:
Currently, the timers run on iothread within BQL, so virtio-block dataplane can not use throttle, as Stefan Hajnoczi pointed out in his patches to port dataplane onto block layer.(Thanks, Stefan) To enable this feature, I plan to enable timers to run on AioContext's thread. And maybe in future, hpet can run with its dedicated thread too. Also, I see Alex Bligh is on the same effort by another method,(it is a good idea) "[RFC] aio/async: Add timed bottom-halves".
Stefan & Paolo did not like that method much, so I did a third method (posted yesterday) suggested by Stefan which adds a clock to AioContext (to which timers can be attached), deletes ALL the alarm_timer stuff (which was very cathartic), uses timeouts on the g_poll, and adds ppoll where this is available. Series at: http://lists.nongnu.org/archive/html/qemu-devel/2013-07/msg03334.html I suspect this also overlaps with your code. So now we have 3 methods to do similar things! One advantage of my approach is that it removes more code than it adds (by quite a margin). However, alarm timers could have been left in. What's the advantage in giving an AioContext its own alarm timer as opposed to just its own clock? -- Alex Bligh