summaryrefslogtreecommitdiff
path: root/lib/bitmap.c
diff options
context:
space:
mode:
authorPaolo Abeni <pabeni@redhat.com>2024-02-01 13:06:43 +0100
committerPaolo Abeni <pabeni@redhat.com>2024-02-01 13:06:43 +0100
commita40539127479a69fb8ebee46ccd7fbc50794b19d (patch)
tree79a26332da7b6d3e0be461a15fe7316f84ec7c55 /lib/bitmap.c
parent3723b56d6f73f7c8c3b521a80556f129830f6fb9 (diff)
parent8afefc361209b726aa5886833384d048412b159e (diff)
Merge branch 'net-mana-assigning-irq-affinity-on-ht-cores'
Souradeep Chakrabarti says: ==================== net: mana: Assigning IRQ affinity on HT cores This patch set introduces a new helper function irq_setup(), to optimize IRQ distribution for MANA network devices. The patch set makes the driver working 15% faster than with cpumask_local_spread(). ==================== Link: https://lore.kernel.org/r/1706509267-17754-1-git-send-email-schakrabarti@linux.microsoft.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'lib/bitmap.c')
-rw-r--r--lib/bitmap.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/bitmap.c b/lib/bitmap.c
index 09522af227f1..b97692854966 100644
--- a/lib/bitmap.c
+++ b/lib/bitmap.c
@@ -348,6 +348,13 @@ unsigned int __bitmap_weight_and(const unsigned long *bitmap1,
}
EXPORT_SYMBOL(__bitmap_weight_and);
+unsigned int __bitmap_weight_andnot(const unsigned long *bitmap1,
+ const unsigned long *bitmap2, unsigned int bits)
+{
+ return BITMAP_WEIGHT(bitmap1[idx] & ~bitmap2[idx], bits);
+}
+EXPORT_SYMBOL(__bitmap_weight_andnot);
+
void __bitmap_set(unsigned long *map, unsigned int start, int len)
{
unsigned long *p = map + BIT_WORD(start);