diff options
author | Hannes Reinecke <hare@suse.de> | 2014-10-29 13:00:15 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2014-10-31 11:29:01 +0100 |
commit | 6df5718bd3ec56225c44cf96440c723c1b611b87 (patch) | |
tree | 1aea529349773a4d24d6fb65c09e1f7897d11ce4 /trace-events | |
parent | aaf2a859b6758ad9b3a6fa242b0453bd7d8b7615 (diff) |
megasas: Rework frame queueing algorithm
Windows requires the frames to be unmapped, otherwise we run
into a race condition where the updated frame data is not
visible to the guest.
With that we can simplify the queue algorithm and use a bitmap
for tracking free frames.
Signed-off-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'trace-events')
-rw-r--r-- | trace-events | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/trace-events b/trace-events index 3399219bac..24df190c88 100644 --- a/trace-events +++ b/trace-events @@ -699,9 +699,9 @@ megasas_init_queue(uint64_t queue_pa, int queue_len, uint64_t head, uint64_t tai megasas_initq_map_failed(int frame) "scmd %d: failed to map queue" megasas_initq_mapped(uint64_t pa) "queue already mapped at %" PRIx64 "" megasas_initq_mismatch(int queue_len, int fw_cmds) "queue size %d max fw cmds %d" -megasas_qf_found(unsigned int index, uint64_t pa) "mapped frame %x pa %" PRIx64 "" -megasas_qf_new(unsigned int index, void *cmd) "return new frame %x cmd %p" -megasas_qf_failed(unsigned long pa) "all frames busy for frame %lx" +megasas_qf_mapped(unsigned int index) "skip mapped frame %x" +megasas_qf_new(unsigned int index, uint64_t frame) "frame %x addr %" PRIx64 "" +megasas_qf_busy(unsigned long pa) "all frames busy for frame %lx" megasas_qf_enqueue(unsigned int index, unsigned int count, uint64_t context, unsigned int head, unsigned int tail, int busy) "frame %x count %d context %" PRIx64 " head %x tail %x busy %d" megasas_qf_update(unsigned int head, unsigned int tail, unsigned int busy) "head %x tail %x busy %d" megasas_qf_map_failed(int cmd, unsigned long frame) "scmd %d: frame %lu" |