On Thu, Mar 20, 2025 at 09:58:47AM -0600, Keith Busch wrote: > I allocate out of hugetlbfs to reliably send direct IO at this size > because the nvme driver's segment count is limited to 128. The driver > doesn't impose a segment size limit, though. If each segment is only 4k > (a common occurance), I guess that's where Luis is getting the 512K > limit? Right, for direct IO we are not getting the large folios we can take fruit from with buffered IO, so in effect we can end up with large IOs possible with buffered but not direct IO. Yes, direct IO with huge pages can help you overcome this as you noted. But also mTHP can be enabled and used for direct IO, or io-uring cmd but mTHP is not deterministic for your allocations even if you have a min order filesystem. The min order requirement is only useful to use in the buffered IO case. Luis