All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: Vlad Buslov <vladbu@mellanox.com>
Cc: netdev@vger.kernel.org, jhs@mojatatu.com,
	xiyou.wangcong@gmail.com, davem@davemloft.net, ast@kernel.org,
	daniel@iogearbox.net
Subject: Re: [PATCH net-next v3 04/16] net: sched: traverse chains in block with tcf_get_next_chain()
Date: Tue, 5 Feb 2019 10:35:30 +0100	[thread overview]
Message-ID: <20190205093530.GA2133@nanopsycho> (raw)
In-Reply-To: <20190204123301.4223-5-vladbu@mellanox.com>

Mon, Feb 04, 2019 at 01:32:49PM CET, vladbu@mellanox.com wrote:
>All users of block->chain_list rely on rtnl lock and assume that no new
>chains are added when traversing the list. Use tcf_get_next_chain() to
>traverse chain list without relying on rtnl mutex. This function iterates
>over chains by taking reference to current iterator chain only and doesn't
>assume external synchronization of chain list.
>
>Don't take reference to all chains in block when flushing and use
>tcf_get_next_chain() to safely iterate over chain list instead. Remove
>tcf_block_put_all_chains() that is no longer used.
>
>Signed-off-by: Vlad Buslov <vladbu@mellanox.com>

Acked-by: Jiri Pirko <jiri@mellanox.com>

  reply	other threads:[~2019-02-05  9:44 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-04 12:32 [PATCH net-next v3 00/16] Refactor classifier API to work with chain/classifiers without rtnl lock Vlad Buslov
2019-02-04 12:32 ` [PATCH net-next v3 01/16] net: sched: protect block state with mutex Vlad Buslov
2019-02-04 15:23   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 02/16] net: sched: refactor tc_ctl_chain() to use block->lock Vlad Buslov
2019-02-04 16:21   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 03/16] net: sched: protect block->chain0 with block->lock Vlad Buslov
2019-02-04 16:30   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 04/16] net: sched: traverse chains in block with tcf_get_next_chain() Vlad Buslov
2019-02-05  9:35   ` Jiri Pirko [this message]
2019-02-04 12:32 ` [PATCH net-next v3 05/16] net: sched: protect chain template accesses with block lock Vlad Buslov
2019-02-05  9:42   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 06/16] net: sched: protect filter_chain list with filter_chain_lock mutex Vlad Buslov
2019-02-05 10:04   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 07/16] net: sched: introduce reference counting for tcf_proto Vlad Buslov
2019-02-05 11:22   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 08/16] net: sched: traverse classifiers in chain with tcf_get_next_proto() Vlad Buslov
2019-02-05 13:07   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 09/16] net: sched: refactor tp insert/delete for concurrent execution Vlad Buslov
2019-02-05 13:08   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 10/16] net: sched: prevent insertion of new classifiers during chain flush Vlad Buslov
2019-02-05 13:08   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 11/16] net: sched: track rtnl lock status when validating extensions Vlad Buslov
2019-02-05 13:09   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 12/16] net: sched: extend proto ops with 'put' callback Vlad Buslov
2019-02-05 13:15   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 13/16] net: sched: extend proto ops to support unlocked classifiers Vlad Buslov
2019-02-05 13:29   ` Jiri Pirko
2019-02-04 12:32 ` [PATCH net-next v3 14/16] net: sched: add flags to Qdisc class ops struct Vlad Buslov
2019-02-05 13:29   ` Jiri Pirko
2019-02-04 12:33 ` [PATCH net-next v3 15/16] net: sched: refactor tcf_block_find() into standalone functions Vlad Buslov
2019-02-05 13:30   ` Jiri Pirko
2019-02-04 12:33 ` [PATCH net-next v3 16/16] net: sched: unlock rules update API Vlad Buslov
2019-02-05 13:31   ` Jiri Pirko

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190205093530.GA2133@nanopsycho \
    --to=jiri@resnulli.us \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=jhs@mojatatu.com \
    --cc=netdev@vger.kernel.org \
    --cc=vladbu@mellanox.com \
    --cc=xiyou.wangcong@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.