-
Bug
-
Resolution: Duplicate
-
Minor
-
None
-
None
-
3
-
9223372036854775807
While looking at at 47K strided read workload, I noticed that there were a lot of 1 page read RPCs, roughly half as many as the larger RPCs:
read write
pages per rpc rpcs % cum % | rpcs % cum %
1: 12 35 35 | 0 0 0
2: 0 0 35 | 0 0 0
4: 0 0 35 | 0 0 0
8: 0 0 35 | 0 0 0
16: 22 64 100 | 0 0 0
read write
rpcs in flight rpcs % cum % | rpcs % cum %
0: 0 0 0 | 0 0 0
1: 34 100 100 | 0 0 0
I dug in to this, and I eventually figured out that when a read is unaligned on both the first and last page, the length calculation used to determine the count of pages for readahead is incorrect. A 47K read is 12 pages in length, but when it is unaligned at start and end, the total page count is 13 pages.
The fix is pretty simple, and the 1 page RPCs disappear from the workload.
This should significantly increase performance for unaligned read workloads of this type. I'll try to get some benchmarks to include in the patch.
- duplicates
-
LU-12644 correct fast read & strided readahead interaction
-
- Resolved
-