Thread (17 messages) flat view 17 messages, 8 authors, 2024-06-21

Re: [PATCH] net: micro-optimize skb_datagram_iter

From: Sagi Grimberg <sagi@grimberg.me>
Date: 2024-06-18 06:37:16
Also in: oe-lkp


On 17/06/2024 19:58, Jakub Kicinski wrote:
On Mon, 17 Jun 2024 09:29:53 +0300 Sagi Grimberg wrote:
quoted
quoted
Probably because kmap() returns page_address() for non-highmem pages
while kmap_local_page() actually returns a kmap address:

          if (!IS_ENABLED(CONFIG_DEBUG_KMAP_LOCAL_FORCE_MAP) && !PageHighMem(page))
                  return page_address(page);
          return __kmap_local_pfn_prot(page_to_pfn(page), prot);

so if skb frags are always lowmem (are they?) this is a false positive.
AFAIR these buffers are coming from the RX ring, so they should be
coming from a page_frag_cache,
so I want to say always low memory?
quoted
if they can be highmem, then you've uncovered a bug that nobody's
noticed because nobody's testing on 32-bit any more.
Not sure, Jakub? Eric?
My uneducated guess would be that until recent(ish) sendpage rework
from David Howells all high mem pages would have been single pages.
dHowells?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help