]> www.infradead.org Git - users/jedix/linux-maple.git/commit
Merge branch 'xfrm: speed up policy insertions'
authorSteffen Klassert <steffen.klassert@secunet.com>
Tue, 27 Aug 2024 05:01:20 +0000 (07:01 +0200)
committerSteffen Klassert <steffen.klassert@secunet.com>
Tue, 27 Aug 2024 05:01:20 +0000 (07:01 +0200)
commit5ce90c842ef57bceb515503347306174e231575f
treec9b6d360628828a71c8c8a034ca5d96b6e10359e
parent54f2f78d6b9f1f90e91aaf5dbb34a6198f65fdfd
parenta54ad727f74559f7c3dfcfd2a63d0ce7683a82e8
Merge branch 'xfrm: speed up policy insertions'

Florian Westphal says:

====================
Policy insertions do not scale well, due to both a lienar list walk
to find the insertion spot and another list walk to set the 'pos' value
(a tie-breaker to detect which policy is older when there is ambiguity
as to which one should be matched).

First patch gets rid of the second list walk on insert.
Rest of the patches get rid of the insertion walk.

This list walk was only needed because when I moved the policy db
implementation to rbtree I retained the old insertion method for the
sake of XFRM_MIGRATE.

Switching that to tree-based lookup avoids the need for the full
list search.

After this, insertion of a policy is largely independent of the number
of pre-existing policies as long as they do not share the same source/
destination networks.

Note that this is compile tested only as I did not find any
tests for XFRM_MIGRATE.
====================

Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>