From 74f6e634b4e4fbe59ed9c4c0db655bf21ebf063f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sat, 14 Jun 2025 21:59:54 +0800 Subject: [PATCH 01/10] add log MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/BUILD.gn | 1 + interfaces/kits/hyperaio/src/hyperaio.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/interfaces/kits/hyperaio/BUILD.gn b/interfaces/kits/hyperaio/BUILD.gn index 93b6f3c96..55e9602b0 100644 --- a/interfaces/kits/hyperaio/BUILD.gn +++ b/interfaces/kits/hyperaio/BUILD.gn @@ -59,6 +59,7 @@ ohos_shared_library("HyperAio") { "ipc:ipc_core", "access_token:libaccesstoken_sdk", "hitrace:hitrace_meter", + "hisysevent:libhisysevent", ] if (file_api_feature_hyperaio) { external_deps += [ "liburing:liburing" ] diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index 9f5f44bc3..db76de807 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -31,6 +31,10 @@ const uint32_t URING_QUEUE_SIZE = 512; const uint32_t DELAY = 20; const uint32_t BATCH_SIZE = 128; const uint32_t RETRIES = 3; +std::atomic openReqCount_{0}; +std::atomic readReqCount_{0}; +std::atomic cancelReqCount_{0}; +std::atomic cqeCount_{0}; class HyperAio::Impl { public: io_uring uring_; @@ -133,7 +137,10 @@ int32_t HyperAio::StartOpenReqs(OpenReqs *req) io_uring_sqe_set_data(sqe, reinterpret_cast(openInfo->userData)); io_uring_prep_openat(sqe, openInfo->dfd, static_cast(openInfo->path), openInfo->flags, openInfo->mode); + HILOGI("open path = %{public}s, flags = %{public}d, mode = %{public}u, userData = %{public}lu", + static_cast(openInfo->path), openInfo->flags, openInfo->mode, openInfo->userData); count++; + openReqCount_++; if (count >= BATCH_SIZE) { count = 0; int32_t ret = io_uring_submit(&pImpl_->uring_); @@ -180,7 +187,10 @@ int32_t HyperAio::StartReadReqs(ReadReqs *req) struct ReadInfo *readInfo = &req->reqs[i]; io_uring_sqe_set_data(sqe, reinterpret_cast(readInfo->userData)); io_uring_prep_read(sqe, readInfo->fd, readInfo->buf, readInfo->len, readInfo->offset); + HILOGI("read fd = %{public}d, len = %{public}u, offset = %{public}lu, userData = %{public}lu", + readInfo->fd, readInfo->len, readInfo->offset, readInfo->userData); count++; + readReqCount_++; if (count >= BATCH_SIZE) { count = 0; int32_t ret = io_uring_submit(&pImpl_->uring_); @@ -228,7 +238,10 @@ int32_t HyperAio::StartCancelReqs(CancelReqs *req) struct CancelInfo *cancelInfo = &req->reqs[i]; io_uring_sqe_set_data(sqe, reinterpret_cast(cancelInfo->userData)); io_uring_prep_cancel(sqe, reinterpret_cast(cancelInfo->targetUserData), 0); + HILOGI("cancel targetUserData = %{public}lu, userData = %{public}lu", + cancelInfo->targetUserData, cancelInfo->userData); count++; + cancelReqCount_++; if (count >= BATCH_SIZE) { count = 0; int32_t ret = io_uring_submit(&pImpl_->uring_); @@ -262,7 +275,9 @@ void HyperAio::HarvestRes() HILOGI("wait cqe failed, ret = %{public}d", ret); continue; } + cqeCount_++; auto response = std::make_unique(cqe->user_data, cqe->res, cqe->flags); + HILOGI("get cqe, user_data = %{public}lld, res = %{public}d, flags = %{public}u") io_uring_cqe_seen(&pImpl_->uring_, cqe); if (ioResultCallBack_) { ioResultCallBack_(std::move(response)); @@ -286,6 +301,7 @@ int32_t HyperAio::DestroyCtx() } initialized_.store(false); + HILOGI("destory hyperaio success"); return EOK; } #else -- Gitee From b7c369250c3c3aa0a48de1c10b790e52abaaf73f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sat, 14 Jun 2025 22:02:23 +0800 Subject: [PATCH 02/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/BUILD.gn | 1 - 1 file changed, 1 deletion(-) diff --git a/interfaces/kits/hyperaio/BUILD.gn b/interfaces/kits/hyperaio/BUILD.gn index 55e9602b0..93b6f3c96 100644 --- a/interfaces/kits/hyperaio/BUILD.gn +++ b/interfaces/kits/hyperaio/BUILD.gn @@ -59,7 +59,6 @@ ohos_shared_library("HyperAio") { "ipc:ipc_core", "access_token:libaccesstoken_sdk", "hitrace:hitrace_meter", - "hisysevent:libhisysevent", ] if (file_api_feature_hyperaio) { external_deps += [ "liburing:liburing" ] -- Gitee From 2b33785fede8cd82d114ae61aab296707837ad8d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sat, 14 Jun 2025 22:03:46 +0800 Subject: [PATCH 03/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/src/hyperaio.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index db76de807..ab9e09565 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -277,7 +277,8 @@ void HyperAio::HarvestRes() } cqeCount_++; auto response = std::make_unique(cqe->user_data, cqe->res, cqe->flags); - HILOGI("get cqe, user_data = %{public}lld, res = %{public}d, flags = %{public}u") + HILOGI("get cqe, user_data = %{public}lld, res = %{public}d, flags = %{public}u", + cqe->user_data, cqe->res, cqe->flags); io_uring_cqe_seen(&pImpl_->uring_, cqe); if (ioResultCallBack_) { ioResultCallBack_(std::move(response)); -- Gitee From 146c735490b41fd0a1bb21c443e82ff7bf98ed17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sat, 14 Jun 2025 22:06:58 +0800 Subject: [PATCH 04/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/src/hyperaio.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index ab9e09565..b61a0df01 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -288,6 +288,8 @@ void HyperAio::HarvestRes() int32_t HyperAio::DestroyCtx() { + HILOGI("openReqCount = %{public}u, readReqCount = %{public}u, cancelReqCount = %{public}u, cqeCount = %{public}u", + openReqCount_.load(), readReqCount_.load(), cancelReqCount_.load(), cqeCount_.load()); if (!initialized_.load()) { return EOK; } -- Gitee From 6244cfbe5daf0b05bc5ebaed1875362518d3a782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sat, 14 Jun 2025 22:14:09 +0800 Subject: [PATCH 05/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/src/hyperaio.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index b61a0df01..f7e340948 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -304,7 +304,7 @@ int32_t HyperAio::DestroyCtx() } initialized_.store(false); - HILOGI("destory hyperaio success"); + HILOGI("destroy hyperaio success"); return EOK; } #else -- Gitee From 0cc6b12ce3d17f24c15acb5009efe2fa791584e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sat, 14 Jun 2025 22:46:18 +0800 Subject: [PATCH 06/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/src/hyperaio.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index f7e340948..c6a26e5bd 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -137,17 +137,17 @@ int32_t HyperAio::StartOpenReqs(OpenReqs *req) io_uring_sqe_set_data(sqe, reinterpret_cast(openInfo->userData)); io_uring_prep_openat(sqe, openInfo->dfd, static_cast(openInfo->path), openInfo->flags, openInfo->mode); - HILOGI("open path = %{public}s, flags = %{public}d, mode = %{public}u, userData = %{public}lu", + HILOGI("open flags = %{public}d, mode = %{public}u, userData = %{public}lu", static_cast(openInfo->path), openInfo->flags, openInfo->mode, openInfo->userData); count++; - openReqCount_++; if (count >= BATCH_SIZE) { - count = 0; int32_t ret = io_uring_submit(&pImpl_->uring_); if (ret < 0) { HILOGE("submit open reqs failed, ret = %{public}d", ret); return ret; } + openReqCount_ += count; + count = 0; } } if (count > 0 && count < BATCH_SIZE) { @@ -156,6 +156,7 @@ int32_t HyperAio::StartOpenReqs(OpenReqs *req) HILOGE("submit open reqs failed, ret = %{public}d", ret); return ret; } + openReqCount_ += count; } return EOK; } @@ -190,14 +191,14 @@ int32_t HyperAio::StartReadReqs(ReadReqs *req) HILOGI("read fd = %{public}d, len = %{public}u, offset = %{public}lu, userData = %{public}lu", readInfo->fd, readInfo->len, readInfo->offset, readInfo->userData); count++; - readReqCount_++; if (count >= BATCH_SIZE) { - count = 0; int32_t ret = io_uring_submit(&pImpl_->uring_); if (ret < 0) { HILOGE("submit read reqs failed, ret = %{public}d", ret); return ret; } + readReqCount_ += count; + count = 0; } } if (count > 0 && count < BATCH_SIZE) { @@ -206,6 +207,7 @@ int32_t HyperAio::StartReadReqs(ReadReqs *req) HILOGE("submit read reqs failed, ret = %{public}d", ret); return ret; } + readReqCount_ += count; } return EOK; @@ -238,17 +240,15 @@ int32_t HyperAio::StartCancelReqs(CancelReqs *req) struct CancelInfo *cancelInfo = &req->reqs[i]; io_uring_sqe_set_data(sqe, reinterpret_cast(cancelInfo->userData)); io_uring_prep_cancel(sqe, reinterpret_cast(cancelInfo->targetUserData), 0); - HILOGI("cancel targetUserData = %{public}lu, userData = %{public}lu", - cancelInfo->targetUserData, cancelInfo->userData); count++; - cancelReqCount_++; if (count >= BATCH_SIZE) { - count = 0; int32_t ret = io_uring_submit(&pImpl_->uring_); if (ret < 0) { HILOGE("submit cancel reqs failed, ret = %{public}d", ret); return ret; } + cancelReqCount_ += count; + count = 0; } } if (count > 0 && count < BATCH_SIZE) { @@ -257,6 +257,7 @@ int32_t HyperAio::StartCancelReqs(CancelReqs *req) HILOGE("submit cancel reqs failed, ret = %{public}d", ret); return ret; } + cancelReqCount_ += count; } return EOK; } @@ -291,12 +292,15 @@ int32_t HyperAio::DestroyCtx() HILOGI("openReqCount = %{public}u, readReqCount = %{public}u, cancelReqCount = %{public}u, cqeCount = %{public}u", openReqCount_.load(), readReqCount_.load(), cancelReqCount_.load(), cqeCount_.load()); if (!initialized_.load()) { + HILOGI("not initialized"); return EOK; } stopThread_.store(true); if (harvestThread_.joinable()) { + HILOGI("start harvest thread join"); harvestThread_.join(); + HILOGI("join success"); } if (pImpl_ != nullptr) { -- Gitee From fa9b4c72da44a4c66a15fc436799a9935aac0bc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sat, 14 Jun 2025 22:47:31 +0800 Subject: [PATCH 07/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/src/hyperaio.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index c6a26e5bd..6b2a59c04 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -188,7 +188,7 @@ int32_t HyperAio::StartReadReqs(ReadReqs *req) struct ReadInfo *readInfo = &req->reqs[i]; io_uring_sqe_set_data(sqe, reinterpret_cast(readInfo->userData)); io_uring_prep_read(sqe, readInfo->fd, readInfo->buf, readInfo->len, readInfo->offset); - HILOGI("read fd = %{public}d, len = %{public}u, offset = %{public}lu, userData = %{public}lu", + HILOGI("read len = %{public}u, offset = %{public}lu, userData = %{public}lu", readInfo->fd, readInfo->len, readInfo->offset, readInfo->userData); count++; if (count >= BATCH_SIZE) { -- Gitee From 852647a7efeddbd65346aac378e6d99908301b11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sat, 14 Jun 2025 22:53:01 +0800 Subject: [PATCH 08/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/src/hyperaio.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index 6b2a59c04..1c5fcda74 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -138,7 +138,9 @@ int32_t HyperAio::StartOpenReqs(OpenReqs *req) io_uring_prep_openat(sqe, openInfo->dfd, static_cast(openInfo->path), openInfo->flags, openInfo->mode); HILOGI("open flags = %{public}d, mode = %{public}u, userData = %{public}lu", - static_cast(openInfo->path), openInfo->flags, openInfo->mode, openInfo->userData); + openInfo->flags, openInfo->mode, openInfo->userData); + HyperaioTrace trace("open flags:" + std::to_string(openInfo->flags) + "mode:" + std::to_string(openInfo->mode) + + "userData:" + std::to_string(openInfo->userData)); count++; if (count >= BATCH_SIZE) { int32_t ret = io_uring_submit(&pImpl_->uring_); @@ -189,7 +191,9 @@ int32_t HyperAio::StartReadReqs(ReadReqs *req) io_uring_sqe_set_data(sqe, reinterpret_cast(readInfo->userData)); io_uring_prep_read(sqe, readInfo->fd, readInfo->buf, readInfo->len, readInfo->offset); HILOGI("read len = %{public}u, offset = %{public}lu, userData = %{public}lu", - readInfo->fd, readInfo->len, readInfo->offset, readInfo->userData); + readInfo->len, readInfo->offset, readInfo->userData); + HyperaioTrace trace("read len:" + std::to_string(readInfo->len) + "offset:" + std::to_string(readInfo->offset) + + "userData:" + std::to_string(readInfo->userData)); count++; if (count >= BATCH_SIZE) { int32_t ret = io_uring_submit(&pImpl_->uring_); @@ -240,6 +244,8 @@ int32_t HyperAio::StartCancelReqs(CancelReqs *req) struct CancelInfo *cancelInfo = &req->reqs[i]; io_uring_sqe_set_data(sqe, reinterpret_cast(cancelInfo->userData)); io_uring_prep_cancel(sqe, reinterpret_cast(cancelInfo->targetUserData), 0); + HyperaioTrace trace("cancel userData:" + std::to_string(cancelInfo->userData) + + "targetUserData:" + std::to_string(cancelInfo->targetUserData)); count++; if (count >= BATCH_SIZE) { int32_t ret = io_uring_submit(&pImpl_->uring_); -- Gitee From ece3c045c3413a2bbdd70d0d94a933fa5a0e5753 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sun, 15 Jun 2025 15:06:18 +0800 Subject: [PATCH 09/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/src/hyperaio.cpp | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index 1c5fcda74..a55239801 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -114,16 +114,13 @@ int32_t HyperAio::StartOpenReqs(OpenReqs *req) if (pImpl_ == nullptr) { return -EINVAL; } - if (req == nullptr || req->reqs == nullptr) { return -EINVAL; } - if (!initialized_.load()) { HILOGE("HyperAio is not initialized"); return -EPERM; } - HyperaioTrace trace("StartOpenReqs" + std::to_string(req->reqNum)); uint32_t totalReqs = req->reqNum; uint32_t count = 0; @@ -168,16 +165,13 @@ int32_t HyperAio::StartReadReqs(ReadReqs *req) if (pImpl_ == nullptr) { return -EINVAL; } - if (req == nullptr || req->reqs == nullptr) { return -EINVAL; } - if (!initialized_.load()) { HILOGE("HyperAio is not initialized"); return -EPERM; } - HyperaioTrace trace("StartReadReqs" + std::to_string(req->reqNum)); uint32_t totalReqs = req->reqNum; uint32_t count = 0; @@ -222,16 +216,13 @@ int32_t HyperAio::StartCancelReqs(CancelReqs *req) if (pImpl_ == nullptr) { return -EINVAL; } - if (req == nullptr || req->reqs == nullptr) { return -EINVAL; } - if (!initialized_.load()) { HILOGE("HyperAio is not initialized"); return -EPERM; } - HyperaioTrace trace("StartCancelReqs" + std::to_string(req->reqNum)); uint32_t totalReqs = req->reqNum; uint32_t count = 0; @@ -286,11 +277,14 @@ void HyperAio::HarvestRes() auto response = std::make_unique(cqe->user_data, cqe->res, cqe->flags); HILOGI("get cqe, user_data = %{public}lld, res = %{public}d, flags = %{public}u", cqe->user_data, cqe->res, cqe->flags); + HyperaioTrace trace("harvest: userdata " + std::to_string(cqe->user_data) + + " res " + std::to_string(cqe->res) + "flags " + std::to_string(cqe->flags)); io_uring_cqe_seen(&pImpl_->uring_, cqe); if (ioResultCallBack_) { ioResultCallBack_(std::move(response)); } } + HILOGI("exit harvest thread"); } int32_t HyperAio::DestroyCtx() -- Gitee From 02778bd07875e06a792e415b2716c7df97df1135 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=AB=E5=BF=B5?= Date: Sun, 15 Jun 2025 15:09:11 +0800 Subject: [PATCH 10/10] 1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 别念 --- interfaces/kits/hyperaio/src/hyperaio.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/interfaces/kits/hyperaio/src/hyperaio.cpp b/interfaces/kits/hyperaio/src/hyperaio.cpp index a55239801..bd4d38d2a 100644 --- a/interfaces/kits/hyperaio/src/hyperaio.cpp +++ b/interfaces/kits/hyperaio/src/hyperaio.cpp @@ -134,7 +134,7 @@ int32_t HyperAio::StartOpenReqs(OpenReqs *req) io_uring_sqe_set_data(sqe, reinterpret_cast(openInfo->userData)); io_uring_prep_openat(sqe, openInfo->dfd, static_cast(openInfo->path), openInfo->flags, openInfo->mode); - HILOGI("open flags = %{public}d, mode = %{public}u, userData = %{public}lu", + HILOGD("open flags = %{public}d, mode = %{public}u, userData = %{public}lu", openInfo->flags, openInfo->mode, openInfo->userData); HyperaioTrace trace("open flags:" + std::to_string(openInfo->flags) + "mode:" + std::to_string(openInfo->mode) + "userData:" + std::to_string(openInfo->userData)); @@ -184,7 +184,7 @@ int32_t HyperAio::StartReadReqs(ReadReqs *req) struct ReadInfo *readInfo = &req->reqs[i]; io_uring_sqe_set_data(sqe, reinterpret_cast(readInfo->userData)); io_uring_prep_read(sqe, readInfo->fd, readInfo->buf, readInfo->len, readInfo->offset); - HILOGI("read len = %{public}u, offset = %{public}lu, userData = %{public}lu", + HILOGD("read len = %{public}u, offset = %{public}lu, userData = %{public}lu", readInfo->len, readInfo->offset, readInfo->userData); HyperaioTrace trace("read len:" + std::to_string(readInfo->len) + "offset:" + std::to_string(readInfo->offset) + "userData:" + std::to_string(readInfo->userData)); @@ -235,6 +235,8 @@ int32_t HyperAio::StartCancelReqs(CancelReqs *req) struct CancelInfo *cancelInfo = &req->reqs[i]; io_uring_sqe_set_data(sqe, reinterpret_cast(cancelInfo->userData)); io_uring_prep_cancel(sqe, reinterpret_cast(cancelInfo->targetUserData), 0); + HILOGD("cancel userData = %{public}lu, targetUserData = %{public}lu", + cancelInfo->userData, cancelInfo->targetUserData); HyperaioTrace trace("cancel userData:" + std::to_string(cancelInfo->userData) + "targetUserData:" + std::to_string(cancelInfo->targetUserData)); count++; -- Gitee