* [PATCH 0/2] ZBD fix with random zone index logic and missing documentation. [not found] <CGME20210803111208epcas5p2fec4fec945de52fb57986f2ef5e2bcfe@epcas5p2.samsung.com> @ 2021-08-03 10:28 ` Ankit Kumar 2021-08-03 10:28 ` [PATCH 1/2] Add missing documentation for job_max_open_zones Ankit Kumar 2021-08-03 10:28 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar 0 siblings, 2 replies; 8+ messages in thread From: Ankit Kumar @ 2021-08-03 10:28 UTC (permalink / raw) To: axboe; +Cc: fio, krish.reddy, prakash.v, Ankit Kumar ZBD fix with random zone index logic and missing documentation. Ankit Kumar (2): Add missing documentation for job_max_open_zones. zbd: Improve random zone index generation logic. HOWTO | 5 +++++ zbd.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) -- 1.8.3.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 1/2] Add missing documentation for job_max_open_zones. 2021-08-03 10:28 ` [PATCH 0/2] ZBD fix with random zone index logic and missing documentation Ankit Kumar @ 2021-08-03 10:28 ` Ankit Kumar 2021-08-04 5:52 ` Shinichiro Kawasaki 2021-08-03 10:28 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar 1 sibling, 1 reply; 8+ messages in thread From: Ankit Kumar @ 2021-08-03 10:28 UTC (permalink / raw) To: axboe; +Cc: fio, krish.reddy, prakash.v, Ankit Kumar --- HOWTO | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/HOWTO b/HOWTO index 59c7f1f..d4e620d 100644 --- a/HOWTO +++ b/HOWTO @@ -1055,6 +1055,11 @@ Target file/device number of open zones is defined as the number of zones to which write commands are issued. +.. option:: job_max_open_zones=int + + Limit on the number of simultaneously opened zones per single + thread/process. + .. option:: zone_reset_threshold=float A number between zero and one that indicates the ratio of logical -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 1/2] Add missing documentation for job_max_open_zones. 2021-08-03 10:28 ` [PATCH 1/2] Add missing documentation for job_max_open_zones Ankit Kumar @ 2021-08-04 5:52 ` Shinichiro Kawasaki 0 siblings, 0 replies; 8+ messages in thread From: Shinichiro Kawasaki @ 2021-08-04 5:52 UTC (permalink / raw) To: Ankit Kumar Cc: axboe@kernel.dk, fio@vger.kernel.org, krish.reddy@samsung.com, prakash.v@samsung.com Hello Ankit, On Aug 03, 2021 / 15:58, Ankit Kumar wrote: > --- > HOWTO | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/HOWTO b/HOWTO > index 59c7f1f..d4e620d 100644 > --- a/HOWTO > +++ b/HOWTO > @@ -1055,6 +1055,11 @@ Target file/device > number of open zones is defined as the number of zones to which write > commands are issued. > > +.. option:: job_max_open_zones=int > + > + Limit on the number of simultaneously opened zones per single > + thread/process. > + This change looks good to me, but I think the commit message title can be improved. "HOWTO: " prefix will help to identify the change target file. Also, I suggest to remove the period in the title. As far as I know, all fio commits do not have period in their commit message titles. > .. option:: zone_reset_threshold=float > > A number between zero and one that indicates the ratio of logical > -- > 1.8.3.1 > -- Best Regards, Shin'ichiro Kawasaki ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] zbd: Improve random zone index generation logic. 2021-08-03 10:28 ` [PATCH 0/2] ZBD fix with random zone index logic and missing documentation Ankit Kumar 2021-08-03 10:28 ` [PATCH 1/2] Add missing documentation for job_max_open_zones Ankit Kumar @ 2021-08-03 10:28 ` Ankit Kumar 2021-08-04 5:59 ` Shinichiro Kawasaki 1 sibling, 1 reply; 8+ messages in thread From: Ankit Kumar @ 2021-08-03 10:28 UTC (permalink / raw) To: axboe; +Cc: fio, krish.reddy, prakash.v, Ankit Kumar Existing random zone index generation logic is dependent on the file size. For smaller I/O sizes the random zone index always return a particular section of open zones. As this index is used to return one of the open zones, it was observed that after one of the max_open_zones / job_max_open_zones limit is reached all further I/O's are redirected to only a few open zones till they are full. This patch modifies the random zone index genration logic so that it is uniform across all the open zones. --- zbd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/zbd.c b/zbd.c index 04c68de..43f12b4 100644 --- a/zbd.c +++ b/zbd.c @@ -1184,11 +1184,12 @@ out: return res; } -/* Anything goes as long as it is not a constant. */ +/* Return random zone index for one of the open zones. */ static uint32_t pick_random_zone_idx(const struct fio_file *f, const struct io_u *io_u) { - return io_u->offset * f->zbd_info->num_open_zones / f->real_file_size; + return (io_u->offset - f->file_offset) * f->zbd_info->num_open_zones / + f->io_size; } /* -- 1.8.3.1 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] zbd: Improve random zone index generation logic. 2021-08-03 10:28 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar @ 2021-08-04 5:59 ` Shinichiro Kawasaki 0 siblings, 0 replies; 8+ messages in thread From: Shinichiro Kawasaki @ 2021-08-04 5:59 UTC (permalink / raw) To: Ankit Kumar Cc: axboe@kernel.dk, fio@vger.kernel.org, krish.reddy@samsung.com, prakash.v@samsung.com On Aug 03, 2021 / 15:58, Ankit Kumar wrote: > Existing random zone index generation logic is dependent on the file size. > For smaller I/O sizes the random zone index always return a particular > section of open zones. As this index is used to return one of the open zones, > it was observed that after one of the max_open_zones / job_max_open_zones limit > is reached all further I/O's are redirected to only a few open zones till they > are full. > > This patch modifies the random zone index genration logic so that it is uniform > across all the open zones. > --- > zbd.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/zbd.c b/zbd.c > index 04c68de..43f12b4 100644 > --- a/zbd.c > +++ b/zbd.c > @@ -1184,11 +1184,12 @@ out: > return res; > } > > -/* Anything goes as long as it is not a constant. */ > +/* Return random zone index for one of the open zones. */ > static uint32_t pick_random_zone_idx(const struct fio_file *f, > const struct io_u *io_u) > { > - return io_u->offset * f->zbd_info->num_open_zones / f->real_file_size; > + return (io_u->offset - f->file_offset) * f->zbd_info->num_open_zones / > + f->io_size; > } One nit I suggest is to remove the period in the commit message title. Other than that, I confirmed the change is good. I confirmed that it improves the randomness of the open zone choice. It reverts the part of the commit 6463db6c1 ('fio: fix interaction between offset/size limited threads and "max_open_zones"'), but I confirmed that still the intent of the commit 6463db6c1 is kept after applying this change. Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com> -- Best Regards, Shin'ichiro Kawasaki ^ permalink raw reply [flat|nested] 8+ messages in thread
[parent not found: <CGME20210804092859epcas5p1085bcaafa631e16cc3ad4325b883172e@epcas5p1.samsung.com>]
* [PATCH 0/2] v2: ZBD fix with random zone index logic and missing documentation @ 2021-08-04 9:24 ` Ankit Kumar 2021-08-04 9:24 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar 0 siblings, 1 reply; 8+ messages in thread From: Ankit Kumar @ 2021-08-04 9:24 UTC (permalink / raw) To: axboe; +Cc: fio, krish.reddy, prakash.v, Ankit Kumar v1 -> v2 - Addressed the commit message review comments for both the patches Ankit Kumar (2): HOWTO: Add missing documentation for job_max_open_zones zbd: Improve random zone index generation logic HOWTO | 5 +++++ zbd.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) -- 2.30.0-rc0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] zbd: Improve random zone index generation logic 2021-08-04 9:24 ` [PATCH 0/2] v2: ZBD fix with random zone index logic and missing documentation Ankit Kumar @ 2021-08-04 9:24 ` Ankit Kumar 0 siblings, 0 replies; 8+ messages in thread From: Ankit Kumar @ 2021-08-04 9:24 UTC (permalink / raw) To: axboe; +Cc: fio, krish.reddy, prakash.v, Ankit Kumar Existing random zone index generation logic is dependent on the file size. For smaller I/O sizes the random zone index always return a particular section of open zones. As this index is used to return one of the open zones, it was observed that after one of the max_open_zones / job_max_open_zones limit is reached all further I/O's are redirected to only a few open zones till they are full. This patch modifies the random zone index genration logic so that it is uniform across all the open zones. It reverts part of the commit 6463db6c1 ('fio: fix interaction between offset/size limited threads and "max_open_zones"') --- zbd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/zbd.c b/zbd.c index 04c68dea..43f12b45 100644 --- a/zbd.c +++ b/zbd.c @@ -1184,11 +1184,12 @@ out: return res; } -/* Anything goes as long as it is not a constant. */ +/* Return random zone index for one of the open zones. */ static uint32_t pick_random_zone_idx(const struct fio_file *f, const struct io_u *io_u) { - return io_u->offset * f->zbd_info->num_open_zones / f->real_file_size; + return (io_u->offset - f->file_offset) * f->zbd_info->num_open_zones / + f->io_size; } /* -- 2.30.0-rc0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
[parent not found: <CGME20210804112710epcas5p4d9ef2bfa2d2327b6e4ae27e1cad3aba6@epcas5p4.samsung.com>]
* [PATCH 0/2] v3: ZBD fix with random zone index logic and missing documentation @ 2021-08-04 11:23 ` Ankit Kumar 2021-08-04 11:23 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar 0 siblings, 1 reply; 8+ messages in thread From: Ankit Kumar @ 2021-08-04 11:23 UTC (permalink / raw) To: axboe; +Cc: fio, krish.reddy, prakash.v, Ankit Kumar v2 -> v2 - Added missing signoff tags with the patches Ankit Kumar (2): HOWTO: Add missing documentation for job_max_open_zones zbd: Improve random zone index generation logic HOWTO | 5 +++++ zbd.c | 5 +++-- 2 files changed, 8 insertions(+), 2 deletions(-) -- 2.30.0-rc0 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH 2/2] zbd: Improve random zone index generation logic 2021-08-04 11:23 ` [PATCH 0/2] v3: ZBD fix with random zone index logic and missing documentation Ankit Kumar @ 2021-08-04 11:23 ` Ankit Kumar 2021-08-04 12:04 ` Shinichiro Kawasaki 0 siblings, 1 reply; 8+ messages in thread From: Ankit Kumar @ 2021-08-04 11:23 UTC (permalink / raw) To: axboe; +Cc: fio, krish.reddy, prakash.v, Ankit Kumar Existing random zone index generation logic is dependent on the file size. For smaller I/O sizes the random zone index always return a particular section of open zones. As this index is used to return one of the open zones, it was observed that after one of the max_open_zones / job_max_open_zones limit is reached all further I/O's are redirected to only a few open zones till they are full. This patch modifies the random zone index genration logic so that it is uniform across all the open zones. It reverts part of the commit 6463db6c1 ('fio: fix interaction between offset/size limited threads and "max_open_zones"') Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> --- zbd.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/zbd.c b/zbd.c index 04c68dea..43f12b45 100644 --- a/zbd.c +++ b/zbd.c @@ -1184,11 +1184,12 @@ out: return res; } -/* Anything goes as long as it is not a constant. */ +/* Return random zone index for one of the open zones. */ static uint32_t pick_random_zone_idx(const struct fio_file *f, const struct io_u *io_u) { - return io_u->offset * f->zbd_info->num_open_zones / f->real_file_size; + return (io_u->offset - f->file_offset) * f->zbd_info->num_open_zones / + f->io_size; } /* -- 2.30.0-rc0 ^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH 2/2] zbd: Improve random zone index generation logic 2021-08-04 11:23 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar @ 2021-08-04 12:04 ` Shinichiro Kawasaki 0 siblings, 0 replies; 8+ messages in thread From: Shinichiro Kawasaki @ 2021-08-04 12:04 UTC (permalink / raw) To: Ankit Kumar Cc: axboe@kernel.dk, fio@vger.kernel.org, krish.reddy@samsung.com, prakash.v@samsung.com On Aug 04, 2021 / 16:53, Ankit Kumar wrote: > Existing random zone index generation logic is dependent on the file size. > For smaller I/O sizes the random zone index always return a particular > section of open zones. As this index is used to return one of the open zones, > it was observed that after one of the max_open_zones / job_max_open_zones limit > is reached all further I/O's are redirected to only a few open zones till they > are full. > > This patch modifies the random zone index genration logic so that it is uniform > across all the open zones. > > It reverts part of the commit 6463db6c1 > ('fio: fix interaction between offset/size limited threads and > "max_open_zones"') > > Signed-off-by: Ankit Kumar <ankit.kumar@samsung.com> Looks good to me. Also, I confirmed that this patch improves the randomness of open zone selection, and it preserves the intent of the commit 6463db6c1. Tested-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com> Reviewed-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com> -- Best Regards, Shin'ichiro Kawasaki ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2021-08-04 12:04 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <CGME20210803111208epcas5p2fec4fec945de52fb57986f2ef5e2bcfe@epcas5p2.samsung.com>
2021-08-03 10:28 ` [PATCH 0/2] ZBD fix with random zone index logic and missing documentation Ankit Kumar
2021-08-03 10:28 ` [PATCH 1/2] Add missing documentation for job_max_open_zones Ankit Kumar
2021-08-04 5:52 ` Shinichiro Kawasaki
2021-08-03 10:28 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar
2021-08-04 5:59 ` Shinichiro Kawasaki
[not found] <CGME20210804092859epcas5p1085bcaafa631e16cc3ad4325b883172e@epcas5p1.samsung.com>
2021-08-04 9:24 ` [PATCH 0/2] v2: ZBD fix with random zone index logic and missing documentation Ankit Kumar
2021-08-04 9:24 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar
[not found] <CGME20210804112710epcas5p4d9ef2bfa2d2327b6e4ae27e1cad3aba6@epcas5p4.samsung.com>
2021-08-04 11:23 ` [PATCH 0/2] v3: ZBD fix with random zone index logic and missing documentation Ankit Kumar
2021-08-04 11:23 ` [PATCH 2/2] zbd: Improve random zone index generation logic Ankit Kumar
2021-08-04 12:04 ` Shinichiro Kawasaki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox