On Tue 13 Nov 2018 at 10:07, Stefano Brivio wrote:
> Vlad,
>
> On Mon, 12 Nov 2018 09:28:59 -0800 (PST)
> David Miller wrote:
>
>> From: Vlad Buslov
>> Date: Mon, 12 Nov 2018 09:55:31 +0200
>>
>> > +#define ASSERT_BLOCK_LOCKED(block)
>> > \
>> > + WARN
Vlad,
On Mon, 12 Nov 2018 09:28:59 -0800 (PST)
David Miller wrote:
> From: Vlad Buslov
> Date: Mon, 12 Nov 2018 09:55:31 +0200
>
> > +#define ASSERT_BLOCK_LOCKED(block) \
> > + WARN_ONCE(!spin_is_locked(&(block)->lock), \
> > + "BLOCK:
From: Vlad Buslov
Date: Mon, 12 Nov 2018 09:55:31 +0200
> +#define ASSERT_BLOCK_LOCKED(block) \
> + WARN_ONCE(!spin_is_locked(&(block)->lock), \
> + "BLOCK: assertion failed at %s (%d)\n", __FILE__, __LINE__)
spin_is_locked() is n
Currently, tcf_block doesn't use any synchronization mechanisms to protect
code that manages lifetime of its chains. block->chain_list and multiple
variables in tcf_chain that control its lifetime assume external
synchronization provided by global rtnl lock. Converting chain reference
counting to a