[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANn89iJki26SoevkdvcFO8HBCDbXR4-0nyZ55fFb2B66Pk63qA@mail.gmail.com>
Date: Wed, 4 Sep 2024 19:04:15 +0200
From: Eric Dumazet <edumazet@...gle.com>
To: Sean Anderson <sean.anderson@...ux.dev>
Cc: "David S . Miller" <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>, Radhey Shyam Pandey <radhey.shyam.pandey@....com>, netdev@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
Michal Simek <michal.simek@....com>, Heng Qi <hengqi@...ux.alibaba.com>
Subject: Re: [PATCH net-next 2/2] net: xilinx: axienet: Enable adaptive IRQ
coalescing with DIM
On Tue, Sep 3, 2024 at 9:25 PM Sean Anderson <sean.anderson@...ux.dev> wrote:
>
> +
> +/**
> + * axienet_rx_dim_work() - Adjust RX DIM settings
> + * @work: The work struct
> + */
> +static void axienet_rx_dim_work(struct work_struct *work)
> +{
> + struct axienet_local *lp =
> + container_of(work, struct axienet_local, rx_dim.work);
> +
> + rtnl_lock();
Why do you need rtnl ?
This is very dangerous, because cancel_work_sync(&lp->rx_dim.work)
might deadlock.
> + axienet_dim_coalesce_rx(lp);
> + axienet_update_coalesce_rx(lp);
> + rtnl_unlock();
> +
> + lp->rx_dim.state = DIM_START_MEASURE;
> +}
>
Powered by blists - more mailing lists