diff options
author | Jiri Kosina <jkosina@suse.cz> | 2022-03-23 09:58:40 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2022-03-23 09:58:40 +0100 |
commit | b690490d6d466972ade172ee2e7f6ffa49e7e910 (patch) | |
tree | 50a93da28c9128e19eb7a3038aecf75dab6b36e1 /lib/sbitmap.c | |
parent | HID: intel-ish-hid: Use dma_alloc_coherent for firmware update (diff) | |
parent | HID: amd_sfh: Remove useless DMA-32 fallback configuration (diff) | |
download | linux-b690490d6d466972ade172ee2e7f6ffa49e7e910.tar.xz linux-b690490d6d466972ade172ee2e7f6ffa49e7e910.zip |
Merge branch 'for-5.18/amd-sfh' into for-linus
- dead code elimination (Christophe JAILLET)
Diffstat (limited to 'lib/sbitmap.c')
-rw-r--r-- | lib/sbitmap.c | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/lib/sbitmap.c b/lib/sbitmap.c index 2709ab825499..6220fa67fb7e 100644 --- a/lib/sbitmap.c +++ b/lib/sbitmap.c @@ -457,10 +457,9 @@ int sbitmap_queue_init_node(struct sbitmap_queue *sbq, unsigned int depth, } EXPORT_SYMBOL_GPL(sbitmap_queue_init_node); -static void sbitmap_queue_update_wake_batch(struct sbitmap_queue *sbq, - unsigned int depth) +static inline void __sbitmap_queue_update_wake_batch(struct sbitmap_queue *sbq, + unsigned int wake_batch) { - unsigned int wake_batch = sbq_calc_wake_batch(sbq, depth); int i; if (sbq->wake_batch != wake_batch) { @@ -476,6 +475,26 @@ static void sbitmap_queue_update_wake_batch(struct sbitmap_queue *sbq, } } +static void sbitmap_queue_update_wake_batch(struct sbitmap_queue *sbq, + unsigned int depth) +{ + unsigned int wake_batch; + + wake_batch = sbq_calc_wake_batch(sbq, depth); + __sbitmap_queue_update_wake_batch(sbq, wake_batch); +} + +void sbitmap_queue_recalculate_wake_batch(struct sbitmap_queue *sbq, + unsigned int users) +{ + unsigned int wake_batch; + + wake_batch = clamp_val((sbq->sb.depth + users - 1) / + users, 4, SBQ_WAKE_BATCH); + __sbitmap_queue_update_wake_batch(sbq, wake_batch); +} +EXPORT_SYMBOL_GPL(sbitmap_queue_recalculate_wake_batch); + void sbitmap_queue_resize(struct sbitmap_queue *sbq, unsigned int depth) { sbitmap_queue_update_wake_batch(sbq, depth); |