test/bdevperf: set a random seed for rand rw testing
To fix issue: #2726 And also fix the examples/nvme/perf tool. Change-Id: I4d1d362b7c1096d27a2d431851462d7bd161df88 Signed-off-by: GangCao <gang.cao@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/14911 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: wanghailiang <hailiangx.e.wang@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot
This commit is contained in:
parent
2b5f264e7b
commit
eab96073cb
@ -744,8 +744,12 @@ register_file(const char *path)
|
|||||||
entry->size_in_ios = size / g_io_size_bytes;
|
entry->size_in_ios = size / g_io_size_bytes;
|
||||||
entry->io_size_blocks = g_io_size_bytes / blklen;
|
entry->io_size_blocks = g_io_size_bytes / blklen;
|
||||||
|
|
||||||
if (g_is_random && g_zipf_theta > 0) {
|
if (g_is_random) {
|
||||||
entry->zipf = spdk_zipf_create(entry->size_in_ios, g_zipf_theta, 0);
|
srand(getpid());
|
||||||
|
entry->seed = rand();
|
||||||
|
if (g_zipf_theta > 0) {
|
||||||
|
entry->zipf = spdk_zipf_create(entry->size_in_ios, g_zipf_theta, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(entry->name, sizeof(entry->name), "%s", path);
|
snprintf(entry->name, sizeof(entry->name), "%s", path);
|
||||||
|
@ -1215,6 +1215,8 @@ end:
|
|||||||
static void
|
static void
|
||||||
job_init_rw(struct bdevperf_job *job, enum job_config_rw rw)
|
job_init_rw(struct bdevperf_job *job, enum job_config_rw rw)
|
||||||
{
|
{
|
||||||
|
srand(getpid());
|
||||||
|
|
||||||
switch (rw) {
|
switch (rw) {
|
||||||
case JOB_CONFIG_RW_READ:
|
case JOB_CONFIG_RW_READ:
|
||||||
job->rw_percentage = 100;
|
job->rw_percentage = 100;
|
||||||
@ -1225,16 +1227,19 @@ job_init_rw(struct bdevperf_job *job, enum job_config_rw rw)
|
|||||||
case JOB_CONFIG_RW_RANDREAD:
|
case JOB_CONFIG_RW_RANDREAD:
|
||||||
job->is_random = true;
|
job->is_random = true;
|
||||||
job->rw_percentage = 100;
|
job->rw_percentage = 100;
|
||||||
|
job->seed = rand();
|
||||||
break;
|
break;
|
||||||
case JOB_CONFIG_RW_RANDWRITE:
|
case JOB_CONFIG_RW_RANDWRITE:
|
||||||
job->is_random = true;
|
job->is_random = true;
|
||||||
job->rw_percentage = 0;
|
job->rw_percentage = 0;
|
||||||
|
job->seed = rand();
|
||||||
break;
|
break;
|
||||||
case JOB_CONFIG_RW_RW:
|
case JOB_CONFIG_RW_RW:
|
||||||
job->is_random = false;
|
job->is_random = false;
|
||||||
break;
|
break;
|
||||||
case JOB_CONFIG_RW_RANDRW:
|
case JOB_CONFIG_RW_RANDRW:
|
||||||
job->is_random = true;
|
job->is_random = true;
|
||||||
|
job->seed = rand();
|
||||||
break;
|
break;
|
||||||
case JOB_CONFIG_RW_VERIFY:
|
case JOB_CONFIG_RW_VERIFY:
|
||||||
job->verify = true;
|
job->verify = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user