All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.