mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-24 10:32:02 -06:00
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1 iQEcBAABAgAGBQJU9NnuAAoJEJykq7OBq3PIBPoH/3N7yHa8IC2TYJ3hR5QZpNQ/ FWzT+eO6htGFUwyz1rHNTuIBuDxueGmMGesIBJpAiahx1xQVz+qtfgcTyVoaaXCL ETXePFeDpUBl8BihYm9cVCt98pMulVP+EMNwR8TX5YeGuq6IdPYsV8oPwIdpFkkk eQqdo11fzPZaDST6ZaFn0WfnElQKHiHvzp8HqZpieMcrZ2wgOWs76pEVSph49bBA /KFxKT06Bz9yKKUHa13WeEbMFCCVfjOAJwnGYXjuX87ynXDYkT1tHdl3CuiuPPcZ csjI1bdofrr1irxvlaN4SvZcgcIWT9D1RzhDO8ZZTXDJHVGamEiqzZ+iiWI4wME= =Kw5L -----END PGP SIGNATURE----- Merge remote-tracking branch 'remotes/stefanha/tags/tracing-pull-request' into staging # gpg: Signature made Mon Mar 2 21:45:18 2015 GMT using RSA key ID 81AB73C8 # gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" # gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" * remotes/stefanha/tags/tracing-pull-request: trace: add DTrace reserved words for .d files unbreak dtrace tracing due to double _ in rdma names Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
commit
c10b02836f
3 changed files with 32 additions and 22 deletions
|
@ -510,7 +510,7 @@ static inline uint8_t *ram_chunk_end(const RDMALocalBlock *rdma_ram_block,
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __qemu_rdma_add_block(RDMAContext *rdma, void *host_addr,
|
static int rdma_add_block(RDMAContext *rdma, void *host_addr,
|
||||||
ram_addr_t block_offset, uint64_t length)
|
ram_addr_t block_offset, uint64_t length)
|
||||||
{
|
{
|
||||||
RDMALocalBlocks *local = &rdma->local_ram_blocks;
|
RDMALocalBlocks *local = &rdma->local_ram_blocks;
|
||||||
|
@ -551,13 +551,12 @@ static int __qemu_rdma_add_block(RDMAContext *rdma, void *host_addr,
|
||||||
|
|
||||||
g_hash_table_insert(rdma->blockmap, (void *) block_offset, block);
|
g_hash_table_insert(rdma->blockmap, (void *) block_offset, block);
|
||||||
|
|
||||||
trace___qemu_rdma_add_block(local->nb_blocks,
|
trace_rdma_add_block(local->nb_blocks, (uint64_t) block->local_host_addr,
|
||||||
(uint64_t) block->local_host_addr, block->offset,
|
block->offset, block->length,
|
||||||
block->length,
|
(uint64_t) (block->local_host_addr + block->length),
|
||||||
(uint64_t) (block->local_host_addr + block->length),
|
BITS_TO_LONGS(block->nb_chunks) *
|
||||||
BITS_TO_LONGS(block->nb_chunks) *
|
sizeof(unsigned long) * 8,
|
||||||
sizeof(unsigned long) * 8,
|
block->nb_chunks);
|
||||||
block->nb_chunks);
|
|
||||||
|
|
||||||
local->nb_blocks++;
|
local->nb_blocks++;
|
||||||
|
|
||||||
|
@ -572,7 +571,7 @@ static int __qemu_rdma_add_block(RDMAContext *rdma, void *host_addr,
|
||||||
static void qemu_rdma_init_one_block(void *host_addr,
|
static void qemu_rdma_init_one_block(void *host_addr,
|
||||||
ram_addr_t block_offset, ram_addr_t length, void *opaque)
|
ram_addr_t block_offset, ram_addr_t length, void *opaque)
|
||||||
{
|
{
|
||||||
__qemu_rdma_add_block(opaque, host_addr, block_offset, length);
|
rdma_add_block(opaque, host_addr, block_offset, length);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -595,7 +594,7 @@ static int qemu_rdma_init_ram_blocks(RDMAContext *rdma)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int __qemu_rdma_delete_block(RDMAContext *rdma, ram_addr_t block_offset)
|
static int rdma_delete_block(RDMAContext *rdma, ram_addr_t block_offset)
|
||||||
{
|
{
|
||||||
RDMALocalBlocks *local = &rdma->local_ram_blocks;
|
RDMALocalBlocks *local = &rdma->local_ram_blocks;
|
||||||
RDMALocalBlock *block = g_hash_table_lookup(rdma->blockmap,
|
RDMALocalBlock *block = g_hash_table_lookup(rdma->blockmap,
|
||||||
|
@ -657,7 +656,7 @@ static int __qemu_rdma_delete_block(RDMAContext *rdma, ram_addr_t block_offset)
|
||||||
local->block = NULL;
|
local->block = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
trace___qemu_rdma_delete_block(local->nb_blocks,
|
trace_rdma_delete_block(local->nb_blocks,
|
||||||
(uint64_t)block->local_host_addr,
|
(uint64_t)block->local_host_addr,
|
||||||
block->offset, block->length,
|
block->offset, block->length,
|
||||||
(uint64_t)(block->local_host_addr + block->length),
|
(uint64_t)(block->local_host_addr + block->length),
|
||||||
|
@ -2187,8 +2186,7 @@ static void qemu_rdma_cleanup(RDMAContext *rdma)
|
||||||
|
|
||||||
if (rdma->local_ram_blocks.block) {
|
if (rdma->local_ram_blocks.block) {
|
||||||
while (rdma->local_ram_blocks.nb_blocks) {
|
while (rdma->local_ram_blocks.nb_blocks) {
|
||||||
__qemu_rdma_delete_block(rdma,
|
rdma_delete_block(rdma, rdma->local_ram_blocks.block->offset);
|
||||||
rdma->local_ram_blocks.block->offset);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,19 @@ __email__ = "stefanha@linux.vnet.ibm.com"
|
||||||
from tracetool import out
|
from tracetool import out
|
||||||
|
|
||||||
|
|
||||||
|
# Reserved keywords from
|
||||||
|
# https://wikis.oracle.com/display/DTrace/Types,+Operators+and+Expressions
|
||||||
|
RESERVED_WORDS = (
|
||||||
|
'auto', 'goto', 'sizeof', 'break', 'if', 'static', 'case', 'import',
|
||||||
|
'string', 'char', 'inline', 'stringof', 'const', 'int', 'struct',
|
||||||
|
'continue', 'long', 'switch', 'counter', 'offsetof', 'this',
|
||||||
|
'default', 'probe', 'translator', 'do', 'provider', 'typedef',
|
||||||
|
'double', 'register', 'union', 'else', 'restrict', 'unsigned',
|
||||||
|
'enum', 'return', 'void', 'extern', 'self', 'volatile', 'float',
|
||||||
|
'short', 'while', 'for', 'signed', 'xlate',
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
def generate(events, backend):
|
def generate(events, backend):
|
||||||
events = [e for e in events
|
events = [e for e in events
|
||||||
if "disable" not in e.properties]
|
if "disable" not in e.properties]
|
||||||
|
@ -25,18 +38,17 @@ def generate(events, backend):
|
||||||
'provider qemu {')
|
'provider qemu {')
|
||||||
|
|
||||||
for e in events:
|
for e in events:
|
||||||
args = str(e.args)
|
args = []
|
||||||
|
for type_, name in e.args:
|
||||||
# DTrace provider syntax expects foo() for empty
|
if name in RESERVED_WORDS:
|
||||||
# params, not foo(void)
|
name += '_'
|
||||||
if args == 'void':
|
args.append(type_ + ' ' + name)
|
||||||
args = ''
|
|
||||||
|
|
||||||
# Define prototype for probe arguments
|
# Define prototype for probe arguments
|
||||||
out('',
|
out('',
|
||||||
'probe %(name)s(%(args)s);',
|
'probe %(name)s(%(args)s);',
|
||||||
name=e.name,
|
name=e.name,
|
||||||
args=args)
|
args=','.join(args))
|
||||||
|
|
||||||
out('',
|
out('',
|
||||||
'};')
|
'};')
|
||||||
|
|
|
@ -1378,8 +1378,6 @@ migrate_pending(uint64_t size, uint64_t max) "pending size %" PRIu64 " max %" PR
|
||||||
migrate_transferred(uint64_t tranferred, uint64_t time_spent, double bandwidth, uint64_t size) "transferred %" PRIu64 " time_spent %" PRIu64 " bandwidth %g max_size %" PRId64
|
migrate_transferred(uint64_t tranferred, uint64_t time_spent, double bandwidth, uint64_t size) "transferred %" PRIu64 " time_spent %" PRIu64 " bandwidth %g max_size %" PRId64
|
||||||
|
|
||||||
# migration/rdma.c
|
# migration/rdma.c
|
||||||
__qemu_rdma_add_block(int block, uint64_t addr, uint64_t offset, uint64_t len, uint64_t end, uint64_t bits, int chunks) "Added Block: %d, addr: %" PRIu64 ", offset: %" PRIu64 " length: %" PRIu64 " end: %" PRIu64 " bits %" PRIu64 " chunks %d"
|
|
||||||
__qemu_rdma_delete_block(int block, uint64_t addr, uint64_t offset, uint64_t len, uint64_t end, uint64_t bits, int chunks) "Deleted Block: %d, addr: %" PRIu64 ", offset: %" PRIu64 " length: %" PRIu64 " end: %" PRIu64 " bits %" PRIu64 " chunks %d"
|
|
||||||
qemu_dma_accept_incoming_migration(void) ""
|
qemu_dma_accept_incoming_migration(void) ""
|
||||||
qemu_dma_accept_incoming_migration_accepted(void) ""
|
qemu_dma_accept_incoming_migration_accepted(void) ""
|
||||||
qemu_rdma_accept_pin_state(bool pin) "%d"
|
qemu_rdma_accept_pin_state(bool pin) "%d"
|
||||||
|
@ -1433,6 +1431,8 @@ qemu_rdma_write_one_recvregres(int mykey, int theirkey, uint64_t chunk) "Receive
|
||||||
qemu_rdma_write_one_sendreg(uint64_t chunk, int len, int index, int64_t offset) "Sending registration request chunk %" PRIu64 " for %d bytes, index: %d, offset: %" PRId64
|
qemu_rdma_write_one_sendreg(uint64_t chunk, int len, int index, int64_t offset) "Sending registration request chunk %" PRIu64 " for %d bytes, index: %d, offset: %" PRId64
|
||||||
qemu_rdma_write_one_top(uint64_t chunks, uint64_t size) "Writing %" PRIu64 " chunks, (%" PRIu64 " MB)"
|
qemu_rdma_write_one_top(uint64_t chunks, uint64_t size) "Writing %" PRIu64 " chunks, (%" PRIu64 " MB)"
|
||||||
qemu_rdma_write_one_zero(uint64_t chunk, int len, int index, int64_t offset) "Entire chunk is zero, sending compress: %" PRIu64 " for %d bytes, index: %d, offset: %" PRId64
|
qemu_rdma_write_one_zero(uint64_t chunk, int len, int index, int64_t offset) "Entire chunk is zero, sending compress: %" PRIu64 " for %d bytes, index: %d, offset: %" PRId64
|
||||||
|
rdma_add_block(int block, uint64_t addr, uint64_t offset, uint64_t len, uint64_t end, uint64_t bits, int chunks) "Added Block: %d, addr: %" PRIu64 ", offset: %" PRIu64 " length: %" PRIu64 " end: %" PRIu64 " bits %" PRIu64 " chunks %d"
|
||||||
|
rdma_delete_block(int block, uint64_t addr, uint64_t offset, uint64_t len, uint64_t end, uint64_t bits, int chunks) "Deleted Block: %d, addr: %" PRIu64 ", offset: %" PRIu64 " length: %" PRIu64 " end: %" PRIu64 " bits %" PRIu64 " chunks %d"
|
||||||
rdma_start_incoming_migration(void) ""
|
rdma_start_incoming_migration(void) ""
|
||||||
rdma_start_incoming_migration_after_dest_init(void) ""
|
rdma_start_incoming_migration_after_dest_init(void) ""
|
||||||
rdma_start_incoming_migration_after_rdma_listen(void) ""
|
rdma_start_incoming_migration_after_rdma_listen(void) ""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue