All of lore.kernel.org
 help / color / mirror / Atom feed
diff for duplicates of <e549e399-089e-f423-169f-81ac9f831cad@intel.com>

diff --git a/a/1.txt b/N1/1.txt
index dcb6f29..6ffc362 100644
--- a/a/1.txt
+++ b/N1/1.txt
@@ -20,80 +20,80 @@ On 22/08/2019 19:43, Jonathan Lemon wrote:
 >>
 >> ---
 >> v2:
->>   - Add checks for the flags coming from userspace
->>   - Fix how we get chunk_size in xsk_diag.c
->>   - Add defines for masking the new descriptor format
->>   - Modified the rx functions to use new descriptor format
->>   - Modified the tx functions to use new descriptor format
+>> ? - Add checks for the flags coming from userspace
+>> ? - Fix how we get chunk_size in xsk_diag.c
+>> ? - Add defines for masking the new descriptor format
+>> ? - Modified the rx functions to use new descriptor format
+>> ? - Modified the tx functions to use new descriptor format
 >>
 >> v3:
->>   - Add helper function to do address/offset masking/addition
+>> ? - Add helper function to do address/offset masking/addition
 >>
 >> v4:
->>   - fixed page_start calculation in __xsk_rcv_memcpy().
->>   - move offset handling to the xdp_umem_get_* functions
->>   - modified the len field in xdp_umem_reg struct. We now use 16 bits 
+>> ? - fixed page_start calculation in __xsk_rcv_memcpy().
+>> ? - move offset handling to the xdp_umem_get_* functions
+>> ? - modified the len field in xdp_umem_reg struct. We now use 16 bits 
 >> from
->>     this for the flags field.
->>   - removed next_pg_contig field from xdp_umem_page struct. Using low 12
->>     bits of addr to store flags instead.
->>   - other minor changes based on review comments
+>> ??? this for the flags field.
+>> ? - removed next_pg_contig field from xdp_umem_page struct. Using low 12
+>> ??? bits of addr to store flags instead.
+>> ? - other minor changes based on review comments
 >>
 >> v5:
->>   - Added accessors for getting addr and offset
->>   - Added helper function to add offset to addr
->>   - Fixed offset handling in xsk_rcv
->>   - Removed bitfields from xdp_umem_reg
->>   - Added struct size checking for xdp_umem_reg in xsk_setsockopt to 
+>> ? - Added accessors for getting addr and offset
+>> ? - Added helper function to add offset to addr
+>> ? - Fixed offset handling in xsk_rcv
+>> ? - Removed bitfields from xdp_umem_reg
+>> ? - Added struct size checking for xdp_umem_reg in xsk_setsockopt to 
 >> handle
->>     different versions of the struct.
->>   - fix conflicts after 'bpf-af-xdp-wakeup' was merged.
+>> ??? different versions of the struct.
+>> ? - fix conflicts after 'bpf-af-xdp-wakeup' was merged.
 >> ---
->>  include/net/xdp_sock.h      | 75 +++++++++++++++++++++++++++--
->>  include/uapi/linux/if_xdp.h |  9 ++++
->>  net/xdp/xdp_umem.c          | 19 ++++++--
->>  net/xdp/xsk.c               | 96 +++++++++++++++++++++++++++++--------
->>  net/xdp/xsk_diag.c          |  2 +-
->>  net/xdp/xsk_queue.h         | 68 ++++++++++++++++++++++----
->>  6 files changed, 232 insertions(+), 37 deletions(-)
+>> ?include/net/xdp_sock.h????? | 75 +++++++++++++++++++++++++++--
+>> ?include/uapi/linux/if_xdp.h |? 9 ++++
+>> ?net/xdp/xdp_umem.c????????? | 19 ++++++--
+>> ?net/xdp/xsk.c?????????????? | 96 +++++++++++++++++++++++++++++--------
+>> ?net/xdp/xsk_diag.c????????? |? 2 +-
+>> ?net/xdp/xsk_queue.h???????? | 68 ++++++++++++++++++++++----
+>> ?6 files changed, 232 insertions(+), 37 deletions(-)
 >>
 >>
 [...]
 
 >> @@ -196,17 +221,17 @@ int xsk_generic_rcv(struct xdp_sock *xs, struct 
 >> xdp_buff *xdp)
->>          goto out_unlock;
->>      }
+>> ???????? goto out_unlock;
+>> ???? }
 >>
->> -    if (!xskq_peek_addr(xs->umem->fq, &addr) ||
->> +    if (!xskq_peek_addr(xs->umem->fq, &addr, xs->umem) ||
->>          len > xs->umem->chunk_size_nohr - XDP_PACKET_HEADROOM) {
->>          err = -ENOSPC;
->>          goto out_drop;
->>      }
+>> -??? if (!xskq_peek_addr(xs->umem->fq, &addr) ||
+>> +??? if (!xskq_peek_addr(xs->umem->fq, &addr, xs->umem) ||
+>> ???????? len > xs->umem->chunk_size_nohr - XDP_PACKET_HEADROOM) {
+>> ???????? err = -ENOSPC;
+>> ???????? goto out_drop;
+>> ???? }
 >>
->> -    addr += xs->umem->headroom;
+>> -??? addr += xs->umem->headroom;
 >> -
->> -    buffer = xdp_umem_get_data(xs->umem, addr);
->> +    buffer = xdp_umem_get_data(xs->umem, addr + offset);
->>      memcpy(buffer, xdp->data_meta, len + metalen);
->> -    addr += metalen;
->> +    offset += metalen;
+>> -??? buffer = xdp_umem_get_data(xs->umem, addr);
+>> +??? buffer = xdp_umem_get_data(xs->umem, addr + offset);
+>> ???? memcpy(buffer, xdp->data_meta, len + metalen);
+>> -??? addr += metalen;
+>> +??? offset += metalen;
 >> +
->> +    addr = xsk_umem_adjust_offset(xs->umem, addr, offset);
->>      err = xskq_produce_batch_desc(xs->rx, addr, len);
->>      if (err)
->>          goto out_drop;
+>> +??? addr = xsk_umem_adjust_offset(xs->umem, addr, offset);
+>> ???? err = xskq_produce_batch_desc(xs->rx, addr, len);
+>> ???? if (err)
+>> ???????? goto out_drop;
 >
-> Can't just add address and offset any longer.  This should read:
+> Can't just add address and offset any longer.? This should read:
 >
->     addr = xsk_umem_adjust_offset(xs->umem, addr, offset);
->     buffer = xdp_umem_get_data(xs->umem, addr);
+> ????addr = xsk_umem_adjust_offset(xs->umem, addr, offset);
+> ????buffer = xdp_umem_get_data(xs->umem, addr);
 >
->     addr = xsk_umem_adjust_offset(xs->umem, addr, metalen);
+> ????addr = xsk_umem_adjust_offset(xs->umem, addr, metalen);
 >
 >
-> so that offset and then metalen are added.  (or preserve the
+> so that offset and then metalen are added.? (or preserve the
 > address across the calls like memcpy_addr earlier).
 
 
diff --git a/a/content_digest b/N1/content_digest
index ad8300b..c30acfc 100644
--- a/a/content_digest
+++ b/N1/content_digest
@@ -14,28 +14,13 @@
   "From\0Laatz, Kevin <kevin.laatz\@intel.com>\0"
 ]
 [
-  "Subject\0Re: [PATCH bpf-next v5 03/11] xsk: add support to allow unaligned chunk placement\0"
+  "Subject\0[Intel-wired-lan] [PATCH bpf-next v5 03/11] xsk: add support to allow unaligned chunk placement\0"
 ]
 [
   "Date\0Fri, 23 Aug 2019 14:35:40 +0100\0"
 ]
 [
-  "To\0Jonathan Lemon <jonathan.lemon\@gmail.com>\0"
-]
-[
-  "Cc\0netdev\@vger.kernel.org",
-  " ast\@kernel.org",
-  " daniel\@iogearbox.net",
-  " bjorn.topel\@intel.com",
-  " magnus.karlsson\@intel.com",
-  " jakub.kicinski\@netronome.com",
-  " saeedm\@mellanox.com",
-  " maximmi\@mellanox.com",
-  " stephen\@networkplumber.org",
-  " bruce.richardson\@intel.com",
-  " ciara.loftus\@intel.com",
-  " bpf\@vger.kernel.org",
-  " intel-wired-lan\@lists.osuosl.org\0"
+  "To\0intel-wired-lan\@osuosl.org\0"
 ]
 [
   "\0000:1\0"
@@ -66,80 +51,80 @@
   ">>\n",
   ">> ---\n",
   ">> v2:\n",
-  ">> \302\240 - Add checks for the flags coming from userspace\n",
-  ">> \302\240 - Fix how we get chunk_size in xsk_diag.c\n",
-  ">> \302\240 - Add defines for masking the new descriptor format\n",
-  ">> \302\240 - Modified the rx functions to use new descriptor format\n",
-  ">> \302\240 - Modified the tx functions to use new descriptor format\n",
+  ">> ? - Add checks for the flags coming from userspace\n",
+  ">> ? - Fix how we get chunk_size in xsk_diag.c\n",
+  ">> ? - Add defines for masking the new descriptor format\n",
+  ">> ? - Modified the rx functions to use new descriptor format\n",
+  ">> ? - Modified the tx functions to use new descriptor format\n",
   ">>\n",
   ">> v3:\n",
-  ">> \302\240 - Add helper function to do address/offset masking/addition\n",
+  ">> ? - Add helper function to do address/offset masking/addition\n",
   ">>\n",
   ">> v4:\n",
-  ">> \302\240 - fixed page_start calculation in __xsk_rcv_memcpy().\n",
-  ">> \302\240 - move offset handling to the xdp_umem_get_* functions\n",
-  ">> \302\240 - modified the len field in xdp_umem_reg struct. We now use 16 bits \n",
+  ">> ? - fixed page_start calculation in __xsk_rcv_memcpy().\n",
+  ">> ? - move offset handling to the xdp_umem_get_* functions\n",
+  ">> ? - modified the len field in xdp_umem_reg struct. We now use 16 bits \n",
   ">> from\n",
-  ">> \302\240\302\240\302\240 this for the flags field.\n",
-  ">> \302\240 - removed next_pg_contig field from xdp_umem_page struct. Using low 12\n",
-  ">> \302\240\302\240\302\240 bits of addr to store flags instead.\n",
-  ">> \302\240 - other minor changes based on review comments\n",
+  ">> ??? this for the flags field.\n",
+  ">> ? - removed next_pg_contig field from xdp_umem_page struct. Using low 12\n",
+  ">> ??? bits of addr to store flags instead.\n",
+  ">> ? - other minor changes based on review comments\n",
   ">>\n",
   ">> v5:\n",
-  ">> \302\240 - Added accessors for getting addr and offset\n",
-  ">> \302\240 - Added helper function to add offset to addr\n",
-  ">> \302\240 - Fixed offset handling in xsk_rcv\n",
-  ">> \302\240 - Removed bitfields from xdp_umem_reg\n",
-  ">> \302\240 - Added struct size checking for xdp_umem_reg in xsk_setsockopt to \n",
+  ">> ? - Added accessors for getting addr and offset\n",
+  ">> ? - Added helper function to add offset to addr\n",
+  ">> ? - Fixed offset handling in xsk_rcv\n",
+  ">> ? - Removed bitfields from xdp_umem_reg\n",
+  ">> ? - Added struct size checking for xdp_umem_reg in xsk_setsockopt to \n",
   ">> handle\n",
-  ">> \302\240\302\240\302\240 different versions of the struct.\n",
-  ">> \302\240 - fix conflicts after 'bpf-af-xdp-wakeup' was merged.\n",
+  ">> ??? different versions of the struct.\n",
+  ">> ? - fix conflicts after 'bpf-af-xdp-wakeup' was merged.\n",
   ">> ---\n",
-  ">> \302\240include/net/xdp_sock.h\302\240\302\240\302\240\302\240\302\240 | 75 +++++++++++++++++++++++++++--\n",
-  ">> \302\240include/uapi/linux/if_xdp.h |\302\240 9 ++++\n",
-  ">> \302\240net/xdp/xdp_umem.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 | 19 ++++++--\n",
-  ">> \302\240net/xdp/xsk.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 | 96 +++++++++++++++++++++++++++++--------\n",
-  ">> \302\240net/xdp/xsk_diag.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 |\302\240 2 +-\n",
-  ">> \302\240net/xdp/xsk_queue.h\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 | 68 ++++++++++++++++++++++----\n",
-  ">> \302\2406 files changed, 232 insertions(+), 37 deletions(-)\n",
+  ">> ?include/net/xdp_sock.h????? | 75 +++++++++++++++++++++++++++--\n",
+  ">> ?include/uapi/linux/if_xdp.h |? 9 ++++\n",
+  ">> ?net/xdp/xdp_umem.c????????? | 19 ++++++--\n",
+  ">> ?net/xdp/xsk.c?????????????? | 96 +++++++++++++++++++++++++++++--------\n",
+  ">> ?net/xdp/xsk_diag.c????????? |? 2 +-\n",
+  ">> ?net/xdp/xsk_queue.h???????? | 68 ++++++++++++++++++++++----\n",
+  ">> ?6 files changed, 232 insertions(+), 37 deletions(-)\n",
   ">>\n",
   ">>\n",
   "[...]\n",
   "\n",
   ">> \@\@ -196,17 +221,17 \@\@ int xsk_generic_rcv(struct xdp_sock *xs, struct \n",
   ">> xdp_buff *xdp)\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 goto out_unlock;\n",
-  ">> \302\240\302\240\302\240\302\240 }\n",
+  ">> ???????? goto out_unlock;\n",
+  ">> ???? }\n",
   ">>\n",
-  ">> -\302\240\302\240\302\240 if (!xskq_peek_addr(xs->umem->fq, &addr) ||\n",
-  ">> +\302\240\302\240\302\240 if (!xskq_peek_addr(xs->umem->fq, &addr, xs->umem) ||\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 len > xs->umem->chunk_size_nohr - XDP_PACKET_HEADROOM) {\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 err = -ENOSPC;\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 goto out_drop;\n",
-  ">> \302\240\302\240\302\240\302\240 }\n",
+  ">> -??? if (!xskq_peek_addr(xs->umem->fq, &addr) ||\n",
+  ">> +??? if (!xskq_peek_addr(xs->umem->fq, &addr, xs->umem) ||\n",
+  ">> ???????? len > xs->umem->chunk_size_nohr - XDP_PACKET_HEADROOM) {\n",
+  ">> ???????? err = -ENOSPC;\n",
+  ">> ???????? goto out_drop;\n",
+  ">> ???? }\n",
   ">>\n",
-  ">> -\302\240\302\240\302\240 addr += xs->umem->headroom;\n",
+  ">> -??? addr += xs->umem->headroom;\n",
   ">> -\n",
-  ">> -\302\240\302\240\302\240 buffer = xdp_umem_get_data(xs->umem, addr);\n",
-  ">> +\302\240\302\240\302\240 buffer = xdp_umem_get_data(xs->umem, addr + offset);\n",
-  ">> \302\240\302\240\302\240\302\240 memcpy(buffer, xdp->data_meta, len + metalen);\n",
-  ">> -\302\240\302\240\302\240 addr += metalen;\n",
-  ">> +\302\240\302\240\302\240 offset += metalen;\n",
+  ">> -??? buffer = xdp_umem_get_data(xs->umem, addr);\n",
+  ">> +??? buffer = xdp_umem_get_data(xs->umem, addr + offset);\n",
+  ">> ???? memcpy(buffer, xdp->data_meta, len + metalen);\n",
+  ">> -??? addr += metalen;\n",
+  ">> +??? offset += metalen;\n",
   ">> +\n",
-  ">> +\302\240\302\240\302\240 addr = xsk_umem_adjust_offset(xs->umem, addr, offset);\n",
-  ">> \302\240\302\240\302\240\302\240 err = xskq_produce_batch_desc(xs->rx, addr, len);\n",
-  ">> \302\240\302\240\302\240\302\240 if (err)\n",
-  ">> \302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240 goto out_drop;\n",
+  ">> +??? addr = xsk_umem_adjust_offset(xs->umem, addr, offset);\n",
+  ">> ???? err = xskq_produce_batch_desc(xs->rx, addr, len);\n",
+  ">> ???? if (err)\n",
+  ">> ???????? goto out_drop;\n",
   ">\n",
-  "> Can't just add address and offset any longer.\302\240 This should read:\n",
+  "> Can't just add address and offset any longer.? This should read:\n",
   ">\n",
-  "> \302\240\302\240\302\240\302\240addr = xsk_umem_adjust_offset(xs->umem, addr, offset);\n",
-  "> \302\240\302\240\302\240\302\240buffer = xdp_umem_get_data(xs->umem, addr);\n",
+  "> ????addr = xsk_umem_adjust_offset(xs->umem, addr, offset);\n",
+  "> ????buffer = xdp_umem_get_data(xs->umem, addr);\n",
   ">\n",
-  "> \302\240\302\240\302\240\302\240addr = xsk_umem_adjust_offset(xs->umem, addr, metalen);\n",
+  "> ????addr = xsk_umem_adjust_offset(xs->umem, addr, metalen);\n",
   ">\n",
   ">\n",
-  "> so that offset and then metalen are added.\302\240 (or preserve the\n",
+  "> so that offset and then metalen are added.? (or preserve the\n",
   "> address across the calls like memcpy_addr earlier).\n",
   "\n",
   "\n",
@@ -148,4 +133,4 @@
   "-Kevin"
 ]
 
-2ef59c340cda6b9982cad178ac99363fbc0a8822f609f8cc187291535a9717f7
+b4069911e07d7bb98de8088b1e9f1faaf88a1319248cfc837aa32e57ca5b8022

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.