From 1d9c1a417f4de2097e6ff7bfe807c816730aa49f Mon Sep 17 00:00:00 2001 From: Lei Huang Date: Mon, 5 Aug 2024 21:58:16 +0000 Subject: [PATCH 1/3] DAOS-16307 client: Defer creating network context in child processes Features: ioil pil4dfs Create network context when a read/write operation is encountered. Required-githooks: true Signed-off-by: Lei Huang --- src/client/dfuse/il/int_posix.c | 5 ----- src/client/dfuse/pil4dfs/int_dfs.c | 7 ------- src/tests/ftest/dfuse/bash.py | 5 ++++- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/src/client/dfuse/il/int_posix.c b/src/client/dfuse/il/int_posix.c index 220bd890796..366c84210c7 100644 --- a/src/client/dfuse/il/int_posix.c +++ b/src/client/dfuse/il/int_posix.c @@ -807,11 +807,6 @@ child_hdlr(void) DL_WARN(rc, "daos_eq_lib_init() failed in child process"); daos_dti_reset(); ioil_eqh = ioil_iog.iog_main_eqh = DAOS_HDL_INVAL; - rc = daos_eq_create(&ioil_eqh); - if (rc) - DFUSE_LOG_WARNING("daos_eq_create() failed: "DF_RC, DP_RC(rc)); - else - ioil_iog.iog_main_eqh = ioil_eqh; } /* Returns true on success */ diff --git a/src/client/dfuse/pil4dfs/int_dfs.c b/src/client/dfuse/pil4dfs/int_dfs.c index ad748852888..eaecdfabc9a 100644 --- a/src/client/dfuse/pil4dfs/int_dfs.c +++ b/src/client/dfuse/pil4dfs/int_dfs.c @@ -940,13 +940,6 @@ child_hdlr(void) DL_WARN(rc, "daos_eq_lib_init() failed in child process"); daos_dti_reset(); td_eqh = main_eqh = DAOS_HDL_INVAL; - if (d_eq_count_max > 0) { - rc = daos_eq_create(&td_eqh); - if (rc) - DL_WARN(rc, "daos_eq_create() failed"); - else - main_eqh = td_eqh; - } context_reset = true; } diff --git a/src/tests/ftest/dfuse/bash.py b/src/tests/ftest/dfuse/bash.py index 4754d70bfaf..bad7ca24598 100644 --- a/src/tests/ftest/dfuse/bash.py +++ b/src/tests/ftest/dfuse/bash.py @@ -128,7 +128,10 @@ def run_bashcmd(self, il_lib=None, compatible_mode=False): f"bzip2 -z {fuse_root_dir}/lib.a", f"chmod u-r {fuse_root_dir}/lib.a.bz2", 'fio --readwrite=randwrite --name=test --size="2M" --directory ' - f'{fuse_root_dir}/ --bs=1M --numjobs="4" --ioengine=psync ' + f'{fuse_root_dir}/ --bs=1M --numjobs="4" --ioengine=psync --thread=0' + "--group_reporting --exitall_on_error --continue_on_error=none", + 'fio --readwrite=randwrite --name=test --size="2M" --directory ' + f'{fuse_root_dir}/ --bs=1M --numjobs="4" --ioengine=psync --thread=1' "--group_reporting --exitall_on_error --continue_on_error=none", 'fio --readwrite=randwrite --name=test --size="2M" --directory ' f'{fuse_root_dir}/ --bs=1M --numjobs="1" --ioengine=libaio --iodepth=16' From 63d5e596c9cee162482968e85411552e7565ad83 Mon Sep 17 00:00:00 2001 From: Lei Huang Date: Tue, 6 Aug 2024 19:11:15 +0000 Subject: [PATCH 2/3] empty commit to trigger rebuild Features: ioil il pil4dfs Required-githooks: true Signed-off-by: Lei Huang From 0ca4e1f0073bea6358a1b824d2ed7ce0a87746dd Mon Sep 17 00:00:00 2001 From: Lei Huang Date: Tue, 6 Aug 2024 20:12:45 +0000 Subject: [PATCH 3/3] revert the change in libioil Features: pil4dfs Required-githooks: true Signed-off-by: Lei Huang --- src/client/dfuse/il/int_posix.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/client/dfuse/il/int_posix.c b/src/client/dfuse/il/int_posix.c index 366c84210c7..220bd890796 100644 --- a/src/client/dfuse/il/int_posix.c +++ b/src/client/dfuse/il/int_posix.c @@ -807,6 +807,11 @@ child_hdlr(void) DL_WARN(rc, "daos_eq_lib_init() failed in child process"); daos_dti_reset(); ioil_eqh = ioil_iog.iog_main_eqh = DAOS_HDL_INVAL; + rc = daos_eq_create(&ioil_eqh); + if (rc) + DFUSE_LOG_WARNING("daos_eq_create() failed: "DF_RC, DP_RC(rc)); + else + ioil_iog.iog_main_eqh = ioil_eqh; } /* Returns true on success */