All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf 0/2] libbpf: remove two dependencies on Linux kernel headers and improve performance as a bonus
@ 2019-04-09  6:44 Magnus Karlsson
  2019-04-09  6:44 ` [PATCH bpf 1/2] libbpf: remove likely/unlikely in xsk.h Magnus Karlsson
  2019-04-09  6:44 ` [PATCH bpf 2/2] libbpf: remove dependency on barrier.h " Magnus Karlsson
  0 siblings, 2 replies; 13+ messages in thread
From: Magnus Karlsson @ 2019-04-09  6:44 UTC (permalink / raw)
  To: magnus.karlsson, bjorn.topel, ast, daniel, netdev
  Cc: bpf, bruce.richardson, ciara.loftus, ilias.apalodimas,
	xiaolong.ye, ferruh.yigit, qi.z.zhang, georgmueller

This patch set removes two dependencies on Linux kernel headers
from the XDP socket code in libbpf. A number of people have pointed
out that these two dependencies make it hard to build the XDP socket
part of libbpf without any kernel header dependencies. The two removed
dependecies are:

* Remove the usage of likely and unlikely (compiler.h) in xsk.h. It
  has been reported that the use of these actually decreases the
  performance of the ring access code due to an increase in
  instruction cache misses, so let us just remove these.

* Remove the dependency on barrier.h as it brings in a lot of kernel
  headers. As the XDP socket code only uses two simple functions from
  it, we can reimplement these. As a bonus, the new implementation is
  faster as it uses the same barrier primitives as the kernel does
  when the same code is compiled there. Without this patch, the user
  land code uses lfence and sfence on x86, which are unecessarily
  harsh/thorough.

Do the ARM barriers look sane? Have not tested these.

/Magnus

Magnus Karlsson (2):
  libbpf: remove likely/unlikely in xsk.h
  libbpf: remove dependency on barrier.h in xsk.h

 tools/lib/bpf/xsk.h | 23 +++++++++++++++++++----
 1 file changed, 19 insertions(+), 4 deletions(-)

--
2.7.4

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

end of thread, other threads:[~2019-09-04 12:21 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-09  6:44 [PATCH bpf 0/2] libbpf: remove two dependencies on Linux kernel headers and improve performance as a bonus Magnus Karlsson
2019-04-09  6:44 ` [PATCH bpf 1/2] libbpf: remove likely/unlikely in xsk.h Magnus Karlsson
2019-04-09  6:44 ` [PATCH bpf 2/2] libbpf: remove dependency on barrier.h " Magnus Karlsson
2019-04-09  9:10   ` Daniel Borkmann
2019-04-09 11:29     ` Magnus Karlsson
2019-04-09 22:28       ` Georg Müller
2019-04-09 22:46         ` Daniel Borkmann
2019-09-04  5:32   ` Yauheni Kaliuta
2019-09-04  6:39     ` Magnus Karlsson
2019-09-04  6:56       ` Yauheni Kaliuta
2019-09-04 10:25         ` Magnus Karlsson
2019-09-04 12:19           ` Yauheni Kaliuta
2019-09-04 12:21             ` Magnus Karlsson

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.