block: replace g_new0 with g_new for bottom half allocation.

This saves about 15% of the clock cycles spent on allocation.  Using the
slice allocator does not add a visible improvement; allocation is faster
than malloc, while freeing seems to be slower.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Paolo Bonzini 2014-12-17 16:10:00 +01:00 committed by Stefan Hajnoczi
parent e012b78cf5
commit ee82310f8a
1 changed files with 6 additions and 4 deletions

10
async.c
View File

@ -44,10 +44,12 @@ struct QEMUBH {
QEMUBH *aio_bh_new(AioContext *ctx, QEMUBHFunc *cb, void *opaque) QEMUBH *aio_bh_new(AioContext *ctx, QEMUBHFunc *cb, void *opaque)
{ {
QEMUBH *bh; QEMUBH *bh;
bh = g_new0(QEMUBH, 1); bh = g_new(QEMUBH, 1);
bh->ctx = ctx; *bh = (QEMUBH){
bh->cb = cb; .ctx = ctx,
bh->opaque = opaque; .cb = cb,
.opaque = opaque,
};
qemu_mutex_lock(&ctx->bh_lock); qemu_mutex_lock(&ctx->bh_lock);
bh->next = ctx->first_bh; bh->next = ctx->first_bh;
/* Make sure that the members are ready before putting bh into list */ /* Make sure that the members are ready before putting bh into list */