public inbox for [email protected]
 help / color / mirror / Atom feed
* [PATCH liburing 0/2] passthrough test fix and cleanup
       [not found] <CGME20221206123005epcas5p474a1374f850c47f2c9af5ef8c8cc6509@epcas5p4.samsung.com>
@ 2022-12-06 12:18 ` Kanchan Joshi
       [not found]   ` <CGME20221206123009epcas5p4d65eca3320f9845e190fc425a06799a6@epcas5p4.samsung.com>
                     ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Kanchan Joshi @ 2022-12-06 12:18 UTC (permalink / raw)
  To: axboe; +Cc: io-uring, Kanchan Joshi

Hi Jens,

This series does a fix in test/io_uring_passthrough.c and a minor
cleanup too.
Please take a look.

Kanchan Joshi (2):
  test/io_uring_passthrough: fix iopoll test
  test/io_uring_passthrough: cleanup invalid submission test

 test/io_uring_passthrough.c | 27 ++++++++++++++++++++++-----
 1 file changed, 22 insertions(+), 5 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH liburing 1/2] test/io_uring_passthrough: fix iopoll test
       [not found]   ` <CGME20221206123009epcas5p4d65eca3320f9845e190fc425a06799a6@epcas5p4.samsung.com>
@ 2022-12-06 12:18     ` Kanchan Joshi
  0 siblings, 0 replies; 4+ messages in thread
From: Kanchan Joshi @ 2022-12-06 12:18 UTC (permalink / raw)
  To: axboe; +Cc: io-uring, Kanchan Joshi

iopoll test is broken as it does not initialize the command/sqe properly
before submission.
Add the necessary initialization to set this right.

Signed-off-by: Kanchan Joshi <[email protected]>
---
 test/io_uring_passthrough.c | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/test/io_uring_passthrough.c b/test/io_uring_passthrough.c
index 9c71586..b58feae 100644
--- a/test/io_uring_passthrough.c
+++ b/test/io_uring_passthrough.c
@@ -350,6 +350,8 @@ static int test_io_uring_submit_enters(const char *file)
 	int fd, i, ret, ring_flags, open_flags;
 	unsigned head;
 	struct io_uring_cqe *cqe;
+	struct nvme_uring_cmd *cmd;
+	struct io_uring_sqe *sqe;
 
 	ring_flags = IORING_SETUP_IOPOLL;
 	ring_flags |= IORING_SETUP_SQE128;
@@ -369,12 +371,28 @@ static int test_io_uring_submit_enters(const char *file)
 	}
 
 	for (i = 0; i < BUFFERS; i++) {
-		struct io_uring_sqe *sqe;
 		off_t offset = BS * (rand() % BUFFERS);
+		__u64 slba;
+		__u32 nlb;
 
 		sqe = io_uring_get_sqe(&ring);
-		io_uring_prep_writev(sqe, fd, &vecs[i], 1, offset);
-		sqe->user_data = 1;
+		io_uring_prep_readv(sqe, fd, &vecs[i], 1, offset);
+		sqe->user_data = i;
+		sqe->opcode = IORING_OP_URING_CMD;
+		sqe->cmd_op = NVME_URING_CMD_IO;
+		cmd = (struct nvme_uring_cmd *)sqe->cmd;
+		memset(cmd, 0, sizeof(struct nvme_uring_cmd));
+
+		slba = offset >> lba_shift;
+		nlb = (BS >> lba_shift) - 1;
+
+		cmd->opcode = nvme_cmd_read;
+		cmd->cdw10 = slba & 0xffffffff;
+		cmd->cdw11 = slba >> 32;
+		cmd->cdw12 = nlb;
+		cmd->addr = (__u64)(uintptr_t)&vecs[i];
+		cmd->data_len = 1;
+		cmd->nsid = nsid;
 	}
 
 	/* submit manually to avoid adding IORING_ENTER_GETEVENTS */
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH liburing 2/2] test/io_uring_passthrough: cleanup invalid submission test
       [not found]   ` <CGME20221206123012epcas5p33de3600bbc6effa8e2a08f748cb0eee4@epcas5p3.samsung.com>
@ 2022-12-06 12:18     ` Kanchan Joshi
  0 siblings, 0 replies; 4+ messages in thread
From: Kanchan Joshi @ 2022-12-06 12:18 UTC (permalink / raw)
  To: axboe; +Cc: io-uring, Kanchan Joshi

Just do away with setting IOPOLL as this is not necessary for the test.

Signed-off-by: Kanchan Joshi <[email protected]>
---
 test/io_uring_passthrough.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/test/io_uring_passthrough.c b/test/io_uring_passthrough.c
index b58feae..7efdba1 100644
--- a/test/io_uring_passthrough.c
+++ b/test/io_uring_passthrough.c
@@ -286,8 +286,7 @@ static int test_invalid_passthru_submit(const char *file)
 	struct io_uring_sqe *sqe;
 	struct nvme_uring_cmd *cmd;
 
-	ring_flags = IORING_SETUP_IOPOLL | IORING_SETUP_SQE128;
-	ring_flags |= IORING_SETUP_CQE32;
+	ring_flags = IORING_SETUP_CQE32 | IORING_SETUP_SQE128;
 
 	ret = t_create_ring(1, &ring, ring_flags);
 	if (ret != T_SETUP_OK) {
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH liburing 0/2] passthrough test fix and cleanup
  2022-12-06 12:18 ` [PATCH liburing 0/2] passthrough test fix and cleanup Kanchan Joshi
       [not found]   ` <CGME20221206123009epcas5p4d65eca3320f9845e190fc425a06799a6@epcas5p4.samsung.com>
       [not found]   ` <CGME20221206123012epcas5p33de3600bbc6effa8e2a08f748cb0eee4@epcas5p3.samsung.com>
@ 2022-12-06 17:19   ` Jens Axboe
  2 siblings, 0 replies; 4+ messages in thread
From: Jens Axboe @ 2022-12-06 17:19 UTC (permalink / raw)
  To: Kanchan Joshi; +Cc: io-uring


On Tue, 06 Dec 2022 17:48:29 +0530, Kanchan Joshi wrote:
> This series does a fix in test/io_uring_passthrough.c and a minor
> cleanup too.
> Please take a look.
> 
> Kanchan Joshi (2):
>   test/io_uring_passthrough: fix iopoll test
>   test/io_uring_passthrough: cleanup invalid submission test
> 
> [...]

Applied, thanks!

[1/2] test/io_uring_passthrough: fix iopoll test
      commit: 6e86d14a0a88e41c442a4a9c37effc55ac00d2ff
[2/2] test/io_uring_passthrough: cleanup invalid submission test
      commit: 29ec9d9fd3262034e4dce32cb75c0faaad158d1c

Best regards,
-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-12-06 17:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <CGME20221206123005epcas5p474a1374f850c47f2c9af5ef8c8cc6509@epcas5p4.samsung.com>
2022-12-06 12:18 ` [PATCH liburing 0/2] passthrough test fix and cleanup Kanchan Joshi
     [not found]   ` <CGME20221206123009epcas5p4d65eca3320f9845e190fc425a06799a6@epcas5p4.samsung.com>
2022-12-06 12:18     ` [PATCH liburing 1/2] test/io_uring_passthrough: fix iopoll test Kanchan Joshi
     [not found]   ` <CGME20221206123012epcas5p33de3600bbc6effa8e2a08f748cb0eee4@epcas5p3.samsung.com>
2022-12-06 12:18     ` [PATCH liburing 2/2] test/io_uring_passthrough: cleanup invalid submission test Kanchan Joshi
2022-12-06 17:19   ` [PATCH liburing 0/2] passthrough test fix and cleanup Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox