search for: pread_byt

Displaying 7 results from an estimated 7 matches for "pread_byt".

Did you mean: read_byte
2019 Nov 30
0
[PATCH nbdkit 2/3] filters: stats: Measure time per operation
...s/stats.c b/filters/stats/stats.c index 45bedae..86439e7 100644 --- a/filters/stats/stats.c +++ b/filters/stats/stats.c @@ -60,12 +60,12 @@ static struct timeval start_t; /* This lock protects all the stats. */ static pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER; -static uint64_t pread_ops, pread_bytes; -static uint64_t pwrite_ops, pwrite_bytes; -static uint64_t trim_ops, trim_bytes; -static uint64_t zero_ops, zero_bytes; -static uint64_t extents_ops, extents_bytes; -static uint64_t cache_ops, cache_bytes; +static uint64_t pread_ops, pread_bytes, pread_usecs; +static uint64_t pwrite_ops, pwrite...
2019 Nov 30
5
[PATCH nbdkit 0/3] filters: stats: More useful, more friendly
- Use more friendly output with GiB and MiB/s. - Measure time per operation, providing finer grain stats - Add missing stats for flush I hope that these changes will help to understand and imporve virt-v2v performance. Nir Soffer (3): filters: stats: Show size in GiB, rate in MiB/s filters: stats: Measure time per operation filters: stats: Add flush stats filters/stats/stats.c | 117
2019 Nov 30
0
[PATCH nbdkit 1/3] filters: stats: Show size in GiB, rate in MiB/s
...cs) { - fprintf (fp, "elapsed time: %g s\n", usecs / 1000000.); + fprintf (fp, "elapsed time: %.3f s\n", usecs / USEC); if (pread_ops > 0) - fprintf (fp, "read: %" PRIu64 " ops, %" PRIu64 " bytes, %g bits/s\n", - pread_ops, pread_bytes, calc_bps (pread_bytes, usecs)); + fprintf (fp, "read: %" PRIu64 " ops, %.2f GiB, %.2f MiB/s\n", + pread_ops, pread_bytes / GiB, calc_mibps (pread_bytes, usecs)); if (pwrite_ops > 0) - fprintf (fp, "write: %" PRIu64 " ops, %" PRIu64...
2019 Nov 30
0
Re: [PATCH nbdkit 2/3] filters: stats: Measure time per operation
...owing system throughput require more thinking. We have 3 uses cases. Here is a possible way to show both system throughput and fine grain per operation stats. I'm assuming that for system throughput we like to think about the total bytes processed by the system in each direction: read_rate = pread_bytes / total_time write_rate = (pwrite_bytes + zero_bytes + trim_bytes) / total_time 1. copy image to nbdkit total: 2300 ops, 6 GiB, 2.150 s, 2925.71 wMiB/s write: 1271 ops, 1.14 GiB, 0.398 s, 2922.22 MiB/s zero: 1027 ops, 4.86 GiB, 0.012 s, 414723.03 MiB/s extents: 1 ops, 2.00 GiB, 0.000 s, 1204705...
2019 Nov 30
2
Re: [PATCH nbdkit 2/3] filters: stats: Measure time per operation
On Sat, Nov 30, 2019 at 02:17:06AM +0200, Nir Soffer wrote: > Previously we measured the total time and used it to calculate the rate > of different operations. This is incorrect and hides the real > throughput. A more useful way is to measure the time we spent in each > operation. > > Here is an example run with this change: > > $ ./nbdkit --foreground \ > --unix
2019 Apr 24
0
[nbdkit PATCH 4/4] filters: Check for mutex failures
...ock); } if (fp) @@ -163,10 +162,9 @@ stats_pread (struct nbdkit_next_ops *next_ops, void *nxdata, r = next_ops->pread (nxdata, buf, count, offset, flags, err); if (r == 0) { - pthread_mutex_lock (&lock); + ACQUIRE_LOCK_FOR_CURRENT_SCOPE (&lock); pread_ops++; pread_bytes += count; - pthread_mutex_unlock (&lock); } return r; } @@ -182,10 +180,9 @@ stats_pwrite (struct nbdkit_next_ops *next_ops, void *nxdata, r = next_ops->pwrite (nxdata, buf, count, offset, flags, err); if (r == 0) { - pthread_mutex_lock (&lock); + ACQUIRE_LOCK_FO...
2019 Apr 24
7
[nbdkit PATCH 0/4] More mutex sanity checking
I do have a question about whether patch 2 is right, or whether I've exposed a bigger problem in the truncate (and possibly other) filter, but the rest seem fairly straightforward. Eric Blake (4): server: Check for pthread lock failures truncate: Factor out reading real_size under mutex plugins: Check for mutex failures filters: Check for mutex failures filters/cache/cache.c