On Wed, Jan 18, 2017 at 04:40:29PM +0100, Paolo Bonzini wrote:
> On 18/01/2017 15:33, Stefan Hajnoczi wrote:
> > On Fri, Jan 13, 2017 at 02:17:16PM +0100, Paolo Bonzini wrote:
> >> +static void co_schedule_bh_cb(void *opaque)
> >> +{
> >> +AioContext *ctx = opaque;
> >> +QSLIST_HEAD(,
On 18/01/2017 15:33, Stefan Hajnoczi wrote:
> On Fri, Jan 13, 2017 at 02:17:16PM +0100, Paolo Bonzini wrote:
>> +static void co_schedule_bh_cb(void *opaque)
>> +{
>> +AioContext *ctx = opaque;
>> +QSLIST_HEAD(, Coroutine) straight, reversed;
>> +
>> +QSLIST_MOVE_ATOMIC(,
On Fri, Jan 13, 2017 at 02:17:16PM +0100, Paolo Bonzini wrote:
> +static void co_schedule_bh_cb(void *opaque)
> +{
> +AioContext *ctx = opaque;
> +QSLIST_HEAD(, Coroutine) straight, reversed;
> +
> +QSLIST_MOVE_ATOMIC(, >scheduled_coroutines);
> +QSLIST_INIT();
> +
> +while
On Mon, 01/16 13:19, Paolo Bonzini wrote:
> >> +static void co_schedule_bh_cb(void *opaque)
> >> +{
> >> +AioContext *ctx = opaque;
> >> +QSLIST_HEAD(, Coroutine) straight, reversed;
> >> +
> >> +QSLIST_MOVE_ATOMIC(, >scheduled_coroutines);
> >> +QSLIST_INIT();
> >
> > Worth
On 16/01/2017 12:09, Fam Zheng wrote:
> On Fri, 01/13 14:17, Paolo Bonzini wrote:
>> aio_co_wake provides the infrastructure to start a coroutine on a "home"
>> AioContext. It will be used by CoMutex and CoQueue, so that coroutines
>> don't jump from one context to another when they go to sleep
On Fri, 01/13 14:17, Paolo Bonzini wrote:
> aio_co_wake provides the infrastructure to start a coroutine on a "home"
> AioContext. It will be used by CoMutex and CoQueue, so that coroutines
> don't jump from one context to another when they go to sleep on a
> mutex or waitqueue. However, it can