HomeFreeBSD

Remove artificial restriction on lio_listio's operation count

Description

Remove artificial restriction on lio_listio's operation count

In r322258 I made p1003_1b.aio_listio_max a tunable. However, further
investigation shows that there was never any good reason for that limit to
exist in the first place. It's used in two completely different ways:

  • To size a UMA zone, which globally limits the number of concurrent aio_suspend calls.
  • To artifically limit the number of operations in a single lio_listio call. There doesn't seem to be any memory allocation associated with this limit.

This change does two things:

  • Properly names aio_suspend's UMA zone, and sizes it based on a new constant.
  • Eliminates the artifical restriction on lio_listio. Instead, lio_listio calls will now be limited by the more generous max_aio_queue_per_proc. The old p1003_1b.aio_listio_max is now an alias for vfs.aio.max_aio_queue_per_proc, so sysconf(3) will still work with _SC_AIO_LISTIO_MAX.

Reported by: bde
Reviewed by: jhb
MFC after: 3 weeks
Sponsored by: Spectra Logic Corp
Differential Revision: https://reviews.freebsd.org/D12120