[RFC PATCH 0/3] memtests for ioengines using mmap

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add memtest workloads for an ioengine using mmap to run within
the memory mapped region (not to/from another transfer buffer in
regular memory).  Useful for persistent memory testing.

Tests include:
  memcpy = copy with libc memcpy() (d = s)(one read, one write)
  memscan = read memory to registers (one read)
  memset = write memory from registers with libc memset() (one write)
  wmemset = write memory from registers with libc wmemset() (one write)
  streamcopy = STREAM copy (d = s)(one read, one write)
  streamadd = STREAM add (d = s1 + s2)(two reads, add, one write)
  streamscale = STREAM scale (d = 3 * s1)(one read, multiply, one write)
  streamtriad = STREAM triad (d = s1 + 3 * s2)(two reads, add and
                multiply, one write)

Open issues:
* make memscan architecture-independent (or make the test unavailable
  in non-x86). The initial generic memcsum attempt still results in the
  compiler generating memory writes.
* ensure fio is not allocating/filling unused xfer_buf
* ensure Read and Write statistics make sense for each memtest (e.g.
  streamadd should count 2x reads and 1x writes)
* make use_glibc_nt functional (needs to be earlier, may not even
  be possible)
* combine map_populate, glibc_nt, etc. to avoid creating too many
  top-level fio options
* add to dev-dax and libpmem ioengines

Robert Elliott (3):
  memcpytest: Add more sizes
  memcpytest: add more memcpy tests
  ioengines: add memtest workloads for ioengines using mmap

 HOWTO             |  37 +++++
 debug.h           |   1 +
 engines/dev-dax.c |  12 +-
 engines/libpmem.c |  18 +--
 engines/mmap.c    | 142 +++++++++++++++++--
 fio.1             |  37 +++++
 init.c            |   4 +
 io_ddir.h         |  27 +++-
 io_u.c            |   3 +-
 io_u.h            |   9 +-
 lib/memcpy.c      | 411 ++++++++++++++++++++++++++++++++++++++++++++++++------
 lib/memcpy.h      |   4 +
 options.c         |  91 ++++++++++++
 thread_options.h  |   7 +
 14 files changed, 733 insertions(+), 70 deletions(-)

-- 
2.14.3

--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux SCSI]     [Linux IDE]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux