[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20200222.212516.1016463361000574214.davem@davemloft.net>
Date: Sat, 22 Feb 2020 21:25:16 -0800 (PST)
From: David Miller <davem@...emloft.net>
To: idosch@...sch.org
Cc: netdev@...r.kernel.org, jiri@...lanox.com, mlxsw@...lanox.com,
idosch@...lanox.com
Subject: Re: [PATCH net-next 00/12] mlxsw: Remove RTNL from route insertion
path
From: Ido Schimmel <idosch@...sch.org>
Date: Fri, 21 Feb 2020 19:54:03 +0200
> From: Ido Schimmel <idosch@...lanox.com>
>
> This patch set removes RTNL from the route insertion path in mlxsw in
> order to reduce the control plane latency: the time it takes to push
> routes from user space to the kernel and mlxsw.
>
> Up until now mlxsw did not have a lock to protect its shared router data
> structures and instead relied on RTNL. While this was simple and worked,
> it resulted in large control plane latencies as RTNL was heavily
> contended - by both the task receiving the netlink messages from user
> space and the mlxsw workqueue that programs the routes to the device.
>
> By removing RTNL and introducing a new router mutex, this patch set
> reduces the control plane latency by ~80%. A single mutex is added as
> inside mlxsw there is not a lot of concurrency. In addition, a more
> fine-grained locking scheme is much more error-prone.
>
> Patches #1-#6 are preparations. They add needed locking in NVE and
> multicast routing code instead of relying on RTNL
> Patch #7 introduces the new mutex
> Patches #8-#12 gradually take the lock in various entry points into the
> routing code
> Patch #13 removes RTNL in places where it is no longer required
Series applied, thanks.
Powered by blists - more mailing lists