usemem: add --offset option for mmap

usemem hardcodes 0 as the offset for mmap, so add an option to specify
this.  Use bytes for consistency with what mmap accepts.

How to parse the offset?  The POSIX standard is vague about off_t
("Signed integer type used for file sizes."), but in the absence of a
strtoofft, it seems reasonably safe to use strtol.  On 64-bit Arch and
Oracle Linux systems, off_t is the same size as long when compiling in
both 32-bit and 64-bit modes.

Signed-off-by: Daniel Jordan <daniel.m.jordan@oracle.com>
1 file changed
tree: 4f0a55b04f105ed02b6567655fc13745fde12e33
  1. .gitignore
  2. case-000-anon
  3. case-000-shm
  4. case-000-shm-clean
  5. case-anon-cow-rand
  6. case-anon-cow-rand-hugetlb
  7. case-anon-cow-rand-mt
  8. case-anon-cow-seq
  9. case-anon-cow-seq-hugetlb
  10. case-anon-cow-seq-mt
  11. case-anon-r-rand
  12. case-anon-r-rand-mt
  13. case-anon-r-seq
  14. case-anon-r-seq-mt
  15. case-anon-rx-rand-mt
  16. case-anon-rx-seq-mt
  17. case-anon-w-rand
  18. case-anon-w-rand-hugetlb
  19. case-anon-w-rand-mt
  20. case-anon-w-seq
  21. case-anon-w-seq-hugetlb
  22. case-anon-w-seq-mt
  23. case-anon-wx-rand-mt
  24. case-anon-wx-seq-mt
  25. case-direct-write
  26. case-fork
  27. case-fork-sleep
  28. case-hugetlb
  29. case-ksm
  30. case-ksm-hugepages
  31. case-lru-file-mmap-read
  32. case-lru-file-mmap-read-rand
  33. case-lru-file-readonce
  34. case-lru-file-readtwice
  35. case-lru-memcg
  36. case-lru-shm
  37. case-lru-shm-rand
  38. case-mbind
  39. case-migrate
  40. case-migrate-across-nodes
  41. case-mincore
  42. case-mincore-hugepages
  43. case-mlock
  44. case-mmap-pread-rand
  45. case-mmap-pread-rand-mt
  46. case-mmap-pread-seq
  47. case-mmap-pread-seq-mt
  48. case-mmap-xread-rand-mt
  49. case-mmap-xread-seq-mt
  50. case-mremap-xread-rand-mt
  51. case-msync
  52. case-msync-mt
  53. case-posix-fadvise
  54. case-remap
  55. case-shm-lock-unlock
  56. case-shm-pread-rand
  57. case-shm-pread-rand-mt
  58. case-shm-pread-seq
  59. case-shm-pread-seq-mt
  60. case-shm-xread-rand
  61. case-shm-xread-rand-mt
  62. case-shm-xread-seq
  63. case-shm-xread-seq-mt
  64. case-small-allocs
  65. case-small-allocs-mt
  66. case-swap-w-seq
  67. case-swapin
  68. case-truncate
  69. COPYING
  70. Documentation
  71. elapsed-time
  72. gcov-fun
  73. gcov-lock
  74. gcov-mm
  75. gcov-sum
  76. gcov-sum-all
  77. hw_vars
  78. Makefile
  79. README
  80. run
  81. run_cases
  82. setup_hugetlb
  83. small-allocs-common
  84. usemem.c
  85. usemem_direct_write.c
  86. usemem_hugepages.c
  87. usemem_hugepages.h
  88. usemem_ksm.c
  89. usemem_ksm_hugepages.c
  90. usemem_mbind.c
  91. usemem_migrate.c
  92. usemem_mincore.c
  93. usemem_mincore.h
  94. usemem_remap.c