2024-03-25 16:34:50

by Johannes Berg

[permalink] [raw]
Subject: [PATCH] wifi: mac80211: use kvcalloc() for codel vars

From: Johannes Berg <[email protected]>

This is a big array, but it's only used by software and
need not be contiguous in memory. Use kvcalloc() since
it's so big (order 5 allocation).

Reviewed-by: Miriam Rachel Korenblit <[email protected]>
Signed-off-by: Johannes Berg <[email protected]>
---
net/mac80211/tx.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 6bf223e6cd1a..ac5ae7c05e36 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -1604,8 +1604,8 @@ int ieee80211_txq_setup_flows(struct ieee80211_local *local)
local->cparams.target = MS2TIME(20);
local->cparams.ecn = true;

- local->cvars = kcalloc(fq->flows_cnt, sizeof(local->cvars[0]),
- GFP_KERNEL);
+ local->cvars = kvcalloc(fq->flows_cnt, sizeof(local->cvars[0]),
+ GFP_KERNEL);
if (!local->cvars) {
spin_lock_bh(&fq->lock);
fq_reset(fq, fq_skb_free_func);
@@ -1625,7 +1625,7 @@ void ieee80211_txq_teardown_flows(struct ieee80211_local *local)
{
struct fq *fq = &local->fq;

- kfree(local->cvars);
+ kvfree(local->cvars);
local->cvars = NULL;

spin_lock_bh(&fq->lock);
--
2.44.0



2024-03-25 17:25:45

by Toke Høiland-Jørgensen

[permalink] [raw]
Subject: Re: [PATCH] wifi: mac80211: use kvcalloc() for codel vars

Johannes Berg <[email protected]> writes:

> From: Johannes Berg <[email protected]>
>
> This is a big array, but it's only used by software and
> need not be contiguous in memory. Use kvcalloc() since
> it's so big (order 5 allocation).
>
> Reviewed-by: Miriam Rachel Korenblit <[email protected]>
> Signed-off-by: Johannes Berg <[email protected]>

Reviewed-by: Toke Høiland-Jørgensen <[email protected]>

2024-03-25 22:44:58

by Jeff Johnson

[permalink] [raw]
Subject: Re: [PATCH] wifi: mac80211: use kvcalloc() for codel vars

On 3/25/2024 7:05 AM, Johannes Berg wrote:
> From: Johannes Berg <[email protected]>
>
> This is a big array, but it's only used by software and
> need not be contiguous in memory. Use kvcalloc() since
> it's so big (order 5 allocation).
>
> Reviewed-by: Miriam Rachel Korenblit <[email protected]>
> Signed-off-by: Johannes Berg <[email protected]>
Reviewed-by: Jeff Johnson <[email protected]>