[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <dfc2d0b4-3ff4-424f-8bdd-3e9bdedba914@intel.com>
Date: Tue, 7 May 2024 15:13:02 +0200
From: Alexander Lobakin <aleksander.lobakin@...el.com>
To: Florian Fainelli <florian.fainelli@...adcom.com>
CC: <netdev@...r.kernel.org>, <kuba@...nel.org>, <jgg@...dia.com>,
<leonro@...dia.com>, <horms@...nel.org>, Andrew Morton
<akpm@...ux-foundation.org>, Tal Gilboa <talgi@...dia.com>, "open
list:LIBRARY CODE" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH net-next v2] lib: Allow for the DIM library to be modular
From: Florian Fainelli <florian.fainelli@...adcom.com>
Date: Mon, 6 May 2024 10:50:40 -0700
> Allow the Dynamic Interrupt Moderation (DIM) library to be built as a
> module. This is particularly useful in an Android GKI (Google Kernel
> Image) configuration where everything is built as a module, including
> Ethernet controller drivers. Having to build DIMLIB into the kernel
> image with potentially no user is wasteful.
Some bloat-o-meter -c vmlinux.{before,after} would be good to have here.
The library is small, but I personally would like to see it modular.
>
> Signed-off-by: Florian Fainelli <florian.fainelli@...adcom.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@...el.com>
> ---
> Changes in v2:
>
> - Added MODULE_DESCRIPTION()
>
> lib/Kconfig | 2 +-
> lib/dim/Makefile | 4 ++--
> lib/dim/dim.c | 3 +++
> 3 files changed, 6 insertions(+), 3 deletions(-)
>
> diff --git a/lib/Kconfig b/lib/Kconfig
> index 4557bb8a5256..d33a268bc256 100644
> --- a/lib/Kconfig
> +++ b/lib/Kconfig
> @@ -628,7 +628,7 @@ config SIGNATURE
> Implementation is done using GnuPG MPI library
>
> config DIMLIB
> - bool
> + tristate
> help
> Dynamic Interrupt Moderation library.
> Implements an algorithm for dynamically changing CQ moderation values
> diff --git a/lib/dim/Makefile b/lib/dim/Makefile
> index 1d6858a108cb..c4cc4026c451 100644
> --- a/lib/dim/Makefile
> +++ b/lib/dim/Makefile
> @@ -2,6 +2,6 @@
> # DIM Dynamic Interrupt Moderation library
> #
>
> -obj-$(CONFIG_DIMLIB) += dim.o
> +obj-$(CONFIG_DIMLIB) += dimlib.o
I guess you renamed it due to that there's already a module named 'dim'?
>
> -dim-y := dim.o net_dim.o rdma_dim.o
> +dimlib-objs := dim.o net_dim.o rdma_dim.o
> diff --git a/lib/dim/dim.c b/lib/dim/dim.c
> index e89aaf07bde5..83b65ac74d73 100644
> --- a/lib/dim/dim.c
> +++ b/lib/dim/dim.c
> @@ -82,3 +82,6 @@ bool dim_calc_stats(struct dim_sample *start, struct dim_sample *end,
> return true;
> }
> EXPORT_SYMBOL(dim_calc_stats);
> +
> +MODULE_DESCRIPTION("Dynamic Interrupt Moderation (DIM) library");
> +MODULE_LICENSE("Dual BSD/GPL");
Thanks,
Olek
Powered by blists - more mailing lists