kernel-hacking-2024-linux-s.../tools/testing
Eric Dumazet 0d89419319 selftests: net: tcp_mmap: use madvise(MADV_DONTNEED)
When TCP_ZEROCOPY_RECEIVE operation has been added,
I made the mistake of automatically un-mapping prior
content before mapping new pages.

This has the unfortunate effect of adding potentially long
MMU operations (like TLB flushes) while socket lock is held.

Using madvise(MADV_DONTNEED) right after pages has been used
has two benefits :

1) This releases pages sooner, allowing pages to be recycled
if they were part of a page pool in a NIC driver.

2) No more long unmap operations while preventing immediate
processing of incoming packets.

The cost of the added system call is small enough.

Arjun will submit a kernel patch allowing to opt out from
the unmap attempt in tcp_zerocopy_receive()

Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Arjun Roy <arjunroy@google.com>
Cc: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-08-20 16:14:53 -07:00
..
fault-injection
ktest Updates for ktest 5.9 2020-08-10 19:16:26 -07:00
kunit linux-kselftest-kunit-5.9-rc1 2020-08-05 10:07:39 -07:00
nvdimm tools/testing/nvdimm: Emulate firmware activation commands 2020-07-25 19:34:48 -06:00
radix-tree
scatterlist
selftests selftests: net: tcp_mmap: use madvise(MADV_DONTNEED) 2020-08-20 16:14:53 -07:00
vsock