* [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
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