Flexible I/O Tester development
 help / color / mirror / Atom feed
* [PATCH 1/3] Be more verbose on endianness detection failure
@ 2017-02-11 14:28 kusumi.tomohiro
  2017-02-11 14:28 ` [PATCH 2/3] Add a comment to clarify 941bda94 kusumi.tomohiro
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: kusumi.tomohiro @ 2017-02-11 14:28 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 libfio.c | 29 ++++++++++++++++++++++++-----
 1 file changed, 24 insertions(+), 5 deletions(-)

diff --git a/libfio.c b/libfio.c
index 960daf6..096efe2 100644
--- a/libfio.c
+++ b/libfio.c
@@ -327,16 +327,16 @@ static int endian_check(void)
 
 #if defined(CONFIG_LITTLE_ENDIAN)
 	if (be)
-		return 1;
+		return 1; /* should be little */
 #elif defined(CONFIG_BIG_ENDIAN)
 	if (le)
-		return 1;
+		return 2; /* should be big */
 #else
-	return 1;
+	return 3; /* configured for neither */
 #endif
 
 	if (!le && !be)
-		return 1;
+		return 4; /* broken */
 
 	return 0;
 }
@@ -344,6 +344,7 @@ static int endian_check(void)
 int initialize_fio(char *envp[])
 {
 	long ps;
+	int err;
 
 	/*
 	 * We need these to be properly 64-bit aligned, otherwise we
@@ -359,8 +360,26 @@ int initialize_fio(char *envp[])
 	compiletime_assert((offsetof(struct thread_options_pack, percentile_list) % 8) == 0, "percentile_list");
 	compiletime_assert((offsetof(struct thread_options_pack, latency_percentile) % 8) == 0, "latency_percentile");
 
-	if (endian_check()) {
+	err = endian_check();
+	if (err) {
 		log_err("fio: endianness settings appear wrong.\n");
+		switch (err) {
+		case 1:
+			log_err("fio: got big-endian when configured for little\n");
+			break;
+		case 2:
+			log_err("fio: got little-endian when configured for big\n");
+			break;
+		case 3:
+			log_err("fio: not configured to any endianness\n");
+			break;
+		case 4:
+			log_err("fio: failed to find endianness\n");
+			break;
+		default:
+			assert(0);
+			break;
+		}
 		log_err("fio: please report this to fio@vger.kernel.org\n");
 		return 1;
 	}
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/3] Add a comment to clarify 941bda94
  2017-02-11 14:28 [PATCH 1/3] Be more verbose on endianness detection failure kusumi.tomohiro
@ 2017-02-11 14:28 ` kusumi.tomohiro
  2017-02-13 15:41   ` Jens Axboe
  2017-02-11 14:28 ` [PATCH 3/3] steadystate: Use calloc(3) kusumi.tomohiro
  2017-02-13 15:41 ` [PATCH 1/3] Be more verbose on endianness detection failure Jens Axboe
  2 siblings, 1 reply; 5+ messages in thread
From: kusumi.tomohiro @ 2017-02-11 14:28 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 diskutil.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/diskutil.h b/diskutil.h
index 04fdde2..f773066 100644
--- a/diskutil.h
+++ b/diskutil.h
@@ -114,6 +114,7 @@ extern int update_io_ticks(void);
 extern void setup_disk_util(void);
 extern void disk_util_prune_entries(void);
 #else
+/* keep this as a function to avoid a warning in handle_du() */
 static inline void print_disk_util(struct disk_util_stat *du,
 				   struct disk_util_agg *agg, int terse,
 				   struct buf_output *out)
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/3] steadystate: Use calloc(3)
  2017-02-11 14:28 [PATCH 1/3] Be more verbose on endianness detection failure kusumi.tomohiro
  2017-02-11 14:28 ` [PATCH 2/3] Add a comment to clarify 941bda94 kusumi.tomohiro
@ 2017-02-11 14:28 ` kusumi.tomohiro
  2017-02-13 15:41 ` [PATCH 1/3] Be more verbose on endianness detection failure Jens Axboe
  2 siblings, 0 replies; 5+ messages in thread
From: kusumi.tomohiro @ 2017-02-11 14:28 UTC (permalink / raw)
  To: axboe, fio; +Cc: Tomohiro Kusumi

From: Tomohiro Kusumi <tkusumi@tuxera.com>

which guarantees zero clear.

Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
---
 steadystate.c | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/steadystate.c b/steadystate.c
index 951376f..43c715c 100644
--- a/steadystate.c
+++ b/steadystate.c
@@ -8,13 +8,8 @@ bool steadystate_enabled = false;
 
 static void steadystate_alloc(struct thread_data *td)
 {
-	int i;
-
-	td->ss.bw_data = malloc(td->ss.dur * sizeof(uint64_t));
-	td->ss.iops_data = malloc(td->ss.dur * sizeof(uint64_t));
-	/* initialize so that it is obvious if the cache is not full in the output */
-	for (i = 0; i < td->ss.dur; i++)
-		td->ss.iops_data[i] = td->ss.bw_data[i] = 0;
+	td->ss.bw_data = calloc(td->ss.dur, sizeof(uint64_t));
+	td->ss.iops_data = calloc(td->ss.dur, sizeof(uint64_t));
 
 	td->ss.state |= __FIO_SS_DATA;
 }
-- 
2.9.3



^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/3] Be more verbose on endianness detection failure
  2017-02-11 14:28 [PATCH 1/3] Be more verbose on endianness detection failure kusumi.tomohiro
  2017-02-11 14:28 ` [PATCH 2/3] Add a comment to clarify 941bda94 kusumi.tomohiro
  2017-02-11 14:28 ` [PATCH 3/3] steadystate: Use calloc(3) kusumi.tomohiro
@ 2017-02-13 15:41 ` Jens Axboe
  2 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2017-02-13 15:41 UTC (permalink / raw)
  To: kusumi.tomohiro; +Cc: fio, Tomohiro Kusumi

On Sat, Feb 11 2017, kusumi.tomohiro@gmail.com wrote:
> From: Tomohiro Kusumi <tkusumi@tuxera.com>
> 
> Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>
> ---
>  libfio.c | 29 ++++++++++++++++++++++++-----
>  1 file changed, 24 insertions(+), 5 deletions(-)
> 
> diff --git a/libfio.c b/libfio.c
> index 960daf6..096efe2 100644
> --- a/libfio.c
> +++ b/libfio.c
> @@ -327,16 +327,16 @@ static int endian_check(void)
>  
>  #if defined(CONFIG_LITTLE_ENDIAN)
>  	if (be)
> -		return 1;
> +		return 1; /* should be little */
>  #elif defined(CONFIG_BIG_ENDIAN)
>  	if (le)
> -		return 1;
> +		return 2; /* should be big */

I think this deserves and enum. That also enables the compiler to check
if the below switch covers all the potential values.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/3] Add a comment to clarify 941bda94
  2017-02-11 14:28 ` [PATCH 2/3] Add a comment to clarify 941bda94 kusumi.tomohiro
@ 2017-02-13 15:41   ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2017-02-13 15:41 UTC (permalink / raw)
  To: kusumi.tomohiro; +Cc: fio, Tomohiro Kusumi

On Sat, Feb 11 2017, kusumi.tomohiro@gmail.com wrote:
> From: Tomohiro Kusumi <tkusumi@tuxera.com>
> 
> Signed-off-by: Tomohiro Kusumi <tkusumi@tuxera.com>

Applied this, and 3/3.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-02-13 15:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-11 14:28 [PATCH 1/3] Be more verbose on endianness detection failure kusumi.tomohiro
2017-02-11 14:28 ` [PATCH 2/3] Add a comment to clarify 941bda94 kusumi.tomohiro
2017-02-13 15:41   ` Jens Axboe
2017-02-11 14:28 ` [PATCH 3/3] steadystate: Use calloc(3) kusumi.tomohiro
2017-02-13 15:41 ` [PATCH 1/3] Be more verbose on endianness detection failure Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox