Benjamin LaHaise <bcrl@xxxxxxxxx> writes: > As for accounting locked memory, we don't do that for memory pinned by > O_DIRECT either. Given how small the amount of memory aio can pin is > compared to O_DIRECT or mlock(), it is unlikely that the accounting of > how much aio has pinned will make any real difference in the big picture. > A single O_DIRECT i/o can pin megabytes of memory. Actually, you can pin a lot of memory with aio. Worst case, aio-max-nr represents the maximum number of pages you can lock in memory (assuming you pass 1 to io_setup in a loop). So, for the default of 65536 events, that comes to 256MB. My system has libvirt installed, which changes the default to 1 million: $ grep aio-max-nr /usr/lib/sysctl.d/libvirtd.conf fs.aio-max-nr = 1048576 So, that means up to 4GB of memory can be tied up by aio. Oracle's installation guide recommends the same. The difference between the aio ring and something like DIO is that the ring is long-lived. I/O, ideally, doesn't take that long, so that's a poor comparison to make. I tend to agree with Oleg, a system-wide setting just isn't a good fit for this. Changing it now that it's in place is difficult, though, and obviously low priority. -Jeff -- To unsubscribe from this list: send the line "unsubscribe linux-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html