lib: Allow for the DIM library to be modular

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.

Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Link: https://lore.kernel.org/r/20240506175040.410446-1-florian.fainelli@broadcom.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Florian Fainelli 2024-05-06 10:50:40 -07:00 committed by Jakub Kicinski
parent 445c0b69c7
commit 0d5044b4e7
3 changed files with 6 additions and 3 deletions

View File

@ -628,7 +628,7 @@ config SIGNATURE
Implementation is done using GnuPG MPI library Implementation is done using GnuPG MPI library
config DIMLIB config DIMLIB
bool tristate
help help
Dynamic Interrupt Moderation library. Dynamic Interrupt Moderation library.
Implements an algorithm for dynamically changing CQ moderation values Implements an algorithm for dynamically changing CQ moderation values

View File

@ -2,6 +2,6 @@
# DIM Dynamic Interrupt Moderation library # DIM Dynamic Interrupt Moderation library
# #
obj-$(CONFIG_DIMLIB) += dim.o obj-$(CONFIG_DIMLIB) += dimlib.o
dim-y := dim.o net_dim.o rdma_dim.o dimlib-objs := dim.o net_dim.o rdma_dim.o

View File

@ -82,3 +82,6 @@ bool dim_calc_stats(struct dim_sample *start, struct dim_sample *end,
return true; return true;
} }
EXPORT_SYMBOL(dim_calc_stats); EXPORT_SYMBOL(dim_calc_stats);
MODULE_DESCRIPTION("Dynamic Interrupt Moderation (DIM) library");
MODULE_LICENSE("Dual BSD/GPL");