[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 05/44] block: replace g_new0 with g_new for bottom
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PULL v2 05/44] block: replace g_new0 with g_new for bottom half allocation. |
Date: |
Mon, 12 Jan 2015 16:39:55 +0000 |
From: Paolo Bonzini <address@hidden>
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 <address@hidden>
Signed-off-by: Kevin Wolf <address@hidden>
---
async.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/async.c b/async.c
index 572f239..2be88cc 100644
--- a/async.c
+++ b/async.c
@@ -44,10 +44,12 @@ struct QEMUBH {
QEMUBH *aio_bh_new(AioContext *ctx, QEMUBHFunc *cb, void *opaque)
{
QEMUBH *bh;
- bh = g_new0(QEMUBH, 1);
- bh->ctx = ctx;
- bh->cb = cb;
- bh->opaque = opaque;
+ bh = g_new(QEMUBH, 1);
+ *bh = (QEMUBH){
+ .ctx = ctx,
+ .cb = cb,
+ .opaque = opaque,
+ };
qemu_mutex_lock(&ctx->bh_lock);
bh->next = ctx->first_bh;
/* Make sure that the members are ready before putting bh into list */
--
2.1.0
- [Qemu-devel] [PULL v2 15/44] qmp: Add command 'blockdev-backup', (continued)
- [Qemu-devel] [PULL v2 15/44] qmp: Add command 'blockdev-backup', Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 03/44] block: mark AioContext as recursive, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 02/44] qemu-iotests: Speed up make check-block, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 30/44] qemu-iotests: Add supported os parameter for python tests, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 04/44] block: do not allocate an iovec per read of a growable/zero_after_eof BDS, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 16/44] block: Add blockdev-backup to transaction, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 17/44] qemu-iotests: Test blockdev-backup in 055, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 14/44] qapi: Comment version info in TransactionAction, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 12/44] qapi: Fix document for BlockStats.node-name, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 19/44] migration/block: fix pending() return value, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 05/44] block: replace g_new0 with g_new for bottom half allocation.,
Stefan Hajnoczi <=
- [Qemu-devel] [PULL v2 11/44] iotests: Add test for relative backing file names, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 06/44] checkpatch: Brace handling on multi-line condition, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 18/44] iotests: Filter out "I/O thread spun..." warning, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 29/44] qemu-iotests: Add "_supported_os Linux" to 058, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 08/44] block: JSON filenames and relative backing files, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 09/44] block: Relative backing file for image creation, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 10/44] block/vmdk: Relative backing file for creation, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 13/44] block: fix spoiling all dirty bitmaps by mirror and migration, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 07/44] block: Get full backing filename from string, Stefan Hajnoczi, 2015/01/12
- [Qemu-devel] [PULL v2 31/44] coroutine-ucontext: use __thread, Stefan Hajnoczi, 2015/01/12