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.