* [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
[parent not found: <CGME20221206123009epcas5p4d65eca3320f9845e190fc425a06799a6@epcas5p4.samsung.com>]
* [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
[parent not found: <CGME20221206123012epcas5p33de3600bbc6effa8e2a08f748cb0eee4@epcas5p3.samsung.com>]
* [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