On Fri, Dec 10, 2021 at 03:00:36PM -0800, Eric Biggers wrote: > > Isn't epoll more commonly used than aio? Either way, removing 'if EXPERT' from > both would make sense, so that they aren't forced on just because someone didn't > set CONFIG_EXPERT. I think that a lot of people have these options enabled but > don't need them. Android used to be in that boat for CONFIG_AIO (i.e. it wasn't > needed but was sometimes enabled anyway, maybe due to !CONFIG_EXPERT). > Unfortunately Android has started depending on CONFIG_AIO, so it seems Android > will need to keep it set, but I think most other Linux systems don't need it. Mysql and Postgress both can use libaio, and I suspect many distributions are compiling them with AIO enabled, since you can get better performance with AIO. Fio also uses AIO, and many fio recipes that are trying to benchmark file systems or block devices use AIO/DIO. It's fair to say that the libaio programming interface is pretty horrendo, and so very few application programmers will happy choosing to use it. But if you really care about storage performance, whether you're implementing a database, or a cluster file system, it's likely that you will find yourself deciding to try to use it. The fact that so many storage-centric userspace programs use it *desite* libaio's developer-hostile interface is a proof point of how much AIO can help with performance. Maybe over time we can get folks to switch to io_uring, and we will eventually be able to get us to the happy place where most Linux systems won't need CONFIG_AIO. But that day is not today. :-/ So removing the dependency on CONFIG_EXPERT is probably a good idea, at least for now. Cheers, - Ted