Tue, Oct 10, 2017 at 05:12:34PM CEST, david.lai...@aculab.com wrote: >From: Jiri Pirko >> Sent: 10 October 2017 15:32 >> To: David Laight >> Cc: netdev@vger.kernel.org; da...@davemloft.net; j...@mojatatu.com; >> xiyou.wangc...@gmail.com; >> sae...@mellanox.com; mat...@mellanox.com; leo...@mellanox.com; >> ml...@mellanox.com >> Subject: Re: [patch net-next 2/4] net: sched: introduce per-egress action >> device callbacks >> >> Tue, Oct 10, 2017 at 03:31:59PM CEST, david.lai...@aculab.com wrote: >> >From: Jiri Pirko >> >> Sent: 10 October 2017 08:30 >> >> Introduce infrastructure that allows drivers to register callbacks that >> >> are called whenever tc would offload inserted rule and specified device >> >> acts as tc action egress device. >> > >> >How does a driver safely unregister a callback? >> >(to avoid a race with the callback being called.) >> > >> >Usually this requires a callback in the context that makes the >> >notification callbacks indicating that no more such callbacks >> >will be made. >> >> rtnl is your answer. It is being held during register/unregister/cb > >Do you mean 'acquired during register/unregister' and 'held across the >callback' ? > >So the unregister sleeps (or spins?) until any callbacks complete? >So the driver mustn't hold any locks (etc) across the unregister that >it acquires in the callback. >That ought to be noted somewhere.
You actually have a point. I don't take rtnl for reg/unreg as I suppose to. Will fix. > > David >