qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: John Snow <jsnow@redhat.com>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, jsnow@redhat.com
Subject: [Qemu-devel] [PULL 13/14] libqos/ahci: Swap memread/write with bufread/write
Date: Mon, 11 May 2015 14:12:42 -0400	[thread overview]
Message-ID: <1431367963-24437-14-git-send-email-jsnow@redhat.com> (raw)
In-Reply-To: <1431367963-24437-1-git-send-email-jsnow@redhat.com>

Where it makes sense, use the new faster primitives.
For generally small reads/writes such as for the PRDT
and FIS packets, stick with the more wasteful but
easier to debug memread/memwrite.

For ahci-test (before migration tests):
With this patch:
real    0m3.675s
user    0m2.582s
sys     0m1.718s

Without any qtest protocol improvements:
real    0m14.171s
user    0m12.072s
sys     0m12.527s

Signed-off-by: John Snow <jsnow@redhat.com>
Message-id: 1430864578-22072-6-git-send-email-jsnow@redhat.com
---
 tests/ahci-test.c   | 8 ++++----
 tests/libqos/ahci.c | 4 ++--
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/tests/ahci-test.c b/tests/ahci-test.c
index 020acdd..d025a4b 100644
--- a/tests/ahci-test.c
+++ b/tests/ahci-test.c
@@ -872,7 +872,7 @@ static void ahci_test_io_rw_simple(AHCIQState *ahci, unsigned bufsize,
 
     /* Write some indicative pattern to our buffer. */
     generate_pattern(tx, bufsize, AHCI_SECTOR_SIZE);
-    memwrite(ptr, tx, bufsize);
+    bufwrite(ptr, tx, bufsize);
 
     /* Write this buffer to disk, then read it back to the DMA buffer. */
     ahci_guest_io(ahci, port, write_cmd, ptr, bufsize, sector);
@@ -880,7 +880,7 @@ static void ahci_test_io_rw_simple(AHCIQState *ahci, unsigned bufsize,
     ahci_guest_io(ahci, port, read_cmd, ptr, bufsize, sector);
 
     /*** Read back the Data ***/
-    memread(ptr, rx, bufsize);
+    bufread(ptr, rx, bufsize);
     g_assert_cmphex(memcmp(tx, rx, bufsize), ==, 0);
 
     ahci_free(ahci, ptr);
@@ -1016,7 +1016,7 @@ static void test_dma_fragmented(void)
     /* Create a DMA buffer in guest memory, and write our pattern to it. */
     ptr = guest_alloc(ahci->parent->alloc, bufsize);
     g_assert(ptr);
-    memwrite(ptr, tx, bufsize);
+    bufwrite(ptr, tx, bufsize);
 
     cmd = ahci_command_create(CMD_WRITE_DMA);
     ahci_command_adjust(cmd, 0, ptr, bufsize, 32);
@@ -1033,7 +1033,7 @@ static void test_dma_fragmented(void)
     g_free(cmd);
 
     /* Read back the guest's receive buffer into local memory */
-    memread(ptr, rx, bufsize);
+    bufread(ptr, rx, bufsize);
     guest_free(ahci->parent->alloc, ptr);
 
     g_assert_cmphex(memcmp(tx, rx, bufsize), ==, 0);
diff --git a/tests/libqos/ahci.c b/tests/libqos/ahci.c
index 95bfb3d..7e17bb6 100644
--- a/tests/libqos/ahci.c
+++ b/tests/libqos/ahci.c
@@ -653,13 +653,13 @@ void ahci_io(AHCIQState *ahci, uint8_t port, uint8_t ide_cmd,
     qmemset(ptr, 0x00, bufsize);
 
     if (props->write) {
-        memwrite(ptr, buffer, bufsize);
+        bufwrite(ptr, buffer, bufsize);
     }
 
     ahci_guest_io(ahci, port, ide_cmd, ptr, bufsize, sector);
 
     if (props->read) {
-        memread(ptr, buffer, bufsize);
+        bufread(ptr, buffer, bufsize);
     }
 
     ahci_free(ahci, ptr);
-- 
2.1.0

  parent reply	other threads:[~2015-05-11 18:12 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-11 18:12 [Qemu-devel] [PULL 00/14] Ide patches John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 01/14] libqos/ahci: Add halted command helpers John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 02/14] libqos/ahci: Fix sector set method John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 03/14] libqos: Add migration helpers John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 04/14] ich9/ahci: Enable Migration John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 05/14] qtest/ahci: Add migration test John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 06/14] qtest/ahci: add migrate dma test John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 07/14] qtest/ahci: add flush migrate test John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 08/14] qtest/ahci: add halted dma test John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 09/14] qtest/ahci: add migrate " John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 10/14] qtest: allow arbitrarily long sends John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 11/14] qtest: Add base64 encoded read/write John Snow
2015-05-11 18:12 ` [Qemu-devel] [PULL 12/14] qtest: add memset to qtest protocol John Snow
2015-05-11 18:12 ` John Snow [this message]
2015-05-11 18:12 ` [Qemu-devel] [PULL 14/14] qtest: pre-buffer hex nibs John Snow
2015-05-12 10:44 ` [Qemu-devel] [PULL 00/14] Ide patches Peter Maydell
2015-05-12 15:22   ` John Snow
2015-05-12 15:25     ` Peter Maydell
2015-05-12 18:53       ` John Snow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1431367963-24437-14-git-send-email-jsnow@redhat.com \
    --to=jsnow@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).