All of lore.kernel.org
 help / color / mirror / Atom feed
* [nft PATCH 0/5] Reduce cache overhead a bit
@ 2021-12-01 15:02 Phil Sutter
  2021-12-01 15:02 ` [nft PATCH 1/5] cache: Filter tables on kernel side Phil Sutter
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Phil Sutter @ 2021-12-01 15:02 UTC (permalink / raw)
  To: Pablo Neira Ayuso; +Cc: netfilter-devel

Comparing performance of various commands with equivalent iptables ones
I noticed that nftables fetches data from kernel it doesn't need in some
cases. For instance, listing one table was slowed down by a large other
table.

Since there is already code to filter data added to cache, make use of
that and craft GET requests to kernel a bit further so it returns only
what is needed.

This series is not entirely complete, e.g. objects are still fetched as
before. It rather converts some low hanging fruits.

Phil Sutter (5):
  cache: Filter tables on kernel side
  cache: Filter rule list on kernel side
  cache: Filter chain list on kernel side
  cache: Filter set list on server side
  cache: Support filtering for a specific flowtable

 include/cache.h                               |   1 +
 include/mnl.h                                 |  14 +-
 include/netlink.h                             |   3 +-
 src/cache.c                                   | 188 ++++++++++--------
 src/mnl.c                                     |  91 +++++++--
 src/netlink.c                                 |  15 +-
 tests/shell/testcases/listing/0020flowtable_0 |  51 ++++-
 7 files changed, 247 insertions(+), 116 deletions(-)

-- 
2.33.0


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-12-01 18:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-12-01 15:02 [nft PATCH 0/5] Reduce cache overhead a bit Phil Sutter
2021-12-01 15:02 ` [nft PATCH 1/5] cache: Filter tables on kernel side Phil Sutter
2021-12-01 15:02 ` [nft PATCH 2/5] cache: Filter rule list " Phil Sutter
2021-12-01 15:02 ` [nft PATCH 3/5] cache: Filter chain " Phil Sutter
2021-12-01 15:02 ` [nft PATCH 4/5] cache: Filter set list on server side Phil Sutter
2021-12-01 15:02 ` [nft PATCH 5/5] cache: Support filtering for a specific flowtable Phil Sutter
2021-12-01 16:48 ` [nft PATCH 0/5] Reduce cache overhead a bit Pablo Neira Ayuso
2021-12-01 17:18   ` Phil Sutter
2021-12-01 18:02     ` Phil Sutter
2021-12-01 18:20       ` Pablo Neira Ayuso

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.