Re: [PATCH V2] UIO: make maximum memory and port regions configurable

From: Greg KH
Date: Wed Mar 18 2020 - 07:33:57 EST


On Sat, Mar 07, 2020 at 04:10:08PM +0800, Qiang Su wrote:
> Now each uio device can only support 5 memory regions and
> 5 port regions. It is far from enough for some big system.
> On the other hand, the hard-coded style is not flexible.
>
> Consider the marco is used as array index, so a range for
> the config is set in menuconfig. The range is set as 1 to 512.
> The default value is still set as 5 to keep consistent with
> current code.
>
> Signed-off-by: Qiang Su <suqiang4@xxxxxxxxxx>
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> ---
> Changes since v1:
> - also make port regions configurable in menuconfig.
> - fix kbuild errors.
> ---
> drivers/uio/Kconfig | 18 ++++++++++++++++++
> include/linux/uio_driver.h | 4 ++--
> 2 files changed, 20 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/uio/Kconfig b/drivers/uio/Kconfig
> index 202ee81cfc2b..cee7d93cfea2 100644
> --- a/drivers/uio/Kconfig
> +++ b/drivers/uio/Kconfig
> @@ -165,4 +165,22 @@ config UIO_HV_GENERIC
> to network and storage devices from userspace.
>
> If you compile this as a module, it will be called uio_hv_generic.
> +
> +config MAX_UIO_MAPS
> + depends on UIO
> + int "Maximum of memory nodes each uio device support(1-512)"
> + range 1 512
> + default 5
> + help
> + make the max number of memory regions in uio device configurable.
> +
> +config MAX_UIO_PORT_REGIONS
> + depends on UIO
> + int "Maximum of port regions each uio device support(1-512)"
> + range 1 512
> + default 5
> + help
> + make the max number of port regions in uio device configurable.


Can you provide a lot more information in these help texts? Explain why
you would ever want to change these values, and that if you do not
understand, just take the default ones.

Or, better yet, can we just make these values dynamic and grow as needed
by the system? Why are they "fixed"?

thanks,

greg k-h