On 05/22, Breno Leitao wrote: > > Add a small selftest that stresses pipe->mutex contention by spawning N > writer threads that hammer a single pipe with multi-page writes, plus M > reader threads that drain. Each writer records its own write() latency > samples into a log2-bucketed histogram; main aggregates and prints > total writes, throughput, average and percentile (p50/p99) latencies, > and the maximum observed latency. > > Pass --memory-pressure to fork stress-ng (--vm 4 --vm-bytes 80% > --vm-method all) for the duration of the run, so alloc_page() in > anon_pipe_write() routinely hits direct reclaim. The flag fails > fast if stress-ng is not on $PATH. > > Program print something like the following, for different writes, > readers, msgsizes and memory pressure: > > config: writers=X readers=Y msgsize=Z duration=3 pipe_size=1048576 > memory_pressure=[no|yes] > writes: total=54451 rate=18150/s > throughput_MBps: 1134.40 > lat_avg_ns: 275355 > lat_p50_ns_upper: 262143 > lat_p99_ns_upper: 1048575 > lat_max_ns: 2145633
The more tests the better... but since it comes as 2/2, perhaps the changelog could mention the difference before/after 1/2 according to this test? Oleg.

