On Tue, 20 Aug 2019 15:32:29 -0700, Matthew Wilcox wrote:
> From: "Matthew Wilcox (Oracle)" <wi...@infradead.org>
> 
> A minor change in semantics where we simply store into the XArray rather
> than insert; this only matters if there could already be something stored
> at that index, and from my reading of the code that can't happen.
> 
> Use xa_for_each() rather than xas_for_each() as none of these loops
> appear to be performance-critical.
> 
> Signed-off-by: Matthew Wilcox (Oracle) <wi...@infradead.org>

Looks reasonable (indeed IIRC there should not be anything at the
index we try to store to). I'll try to test tomorrow (CCing maintainers
could speed things up a little.. 🤭)

> @@ -285,9 +275,9 @@ static void
>  nfp_abm_qdisc_clear_mq(struct net_device *netdev, struct nfp_abm_link *alink,
>                      struct nfp_qdisc *qdisc)
>  {
> -     struct radix_tree_iter iter;
>       unsigned int mq_refs = 0;
> -     void __rcu **slot;
> +     unsigned long index;
> +     struct nfp_qdisc *mq;

Could you keep the variables sorted longest to shortest as is customary
in networking code if you respin?

Reply via email to