Re: [PATCH v2 09/16] rcu/tree: Maintain separate array for vmalloc ptrs

From: Matthew Wilcox
Date: Thu Jun 18 2020 - 16:38:28 EST


On Thu, Jun 18, 2020 at 10:35:57PM +0200, Uladzislau Rezki wrote:
> On Thu, Jun 18, 2020 at 12:03:59PM -0700, Paul E. McKenney wrote:
> but i do not have a strong opinion here, even though i tend to
> say that it would be odd. Having just vfree_bulk(), i think
> would be enough, as a result the code will look like:
>
> <snip>
> trace_rcu_invoke_kfree_bulk_callback(
> rcu_state.name, bkvhead[i]->nr_records,
> bkvhead[i]->records);
> if (i == 0)
> kfree_bulk(bkvhead[i]->nr_records,
> bkvhead[i]->records);
> else
> vfree_bulk(bkvhead[i]->nr_records,
> bkvhead[i]->records);
> <snip>
>
> Matthew, what is your thought?

That was my thinking too. If we had a kvfree_bulk(), I would expect it to
handle a mixture of vfree and kfree, but you've segregated them already.
So I think this is better.