ff-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
---
v20:
- Removed dma_addr field in dmabuf_genpool_chunk_owner not used in this
patch (moved to later patch where it's used).
v19:
- Don't reset dma_addr on allocation/fr
hether the underlying type is page or net_iov.
Implement checks for net_iov in netmem helpers which delegate to mm
APIs, to ensure net_iov are never passed to the mm stack.
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
---
v19:
- Move page_pool_set_dma_addr(_netmem) to page_pool_priv.h
- D
is omitted for simplicity & p.order !=
0.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
---
v21:
- Provide empty definitions of functions moved to page_pool_priv.h, so
that the build still succeeds when CONFIG_PAGE_
Make skb_frag_page() fail in the case where the frag is not backed
by a page, and fix its relevant callers to handle this case.
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
---
v10:
- Fixed newly generated kdoc warnings found by patchwork. While we're
at it, fix the Return se
ags of
devmem skbs and avoid coalescing devmem skbs with non devmem skbs.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
---
v16:
- Fix unreadable handling in skb_split_no_header() (Eric).
v11:
- drop excessive checks for
er_frags, and each page passed to userspace is get_page()'d.
This reference is dropped once the userspace indicates that it is
done reading this page. All pages are released when the socket is
destroyed.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Re
Add an interface for the user to notify the kernel that it is done
reading the devmem dmabuf frags returned as cmsg. The kernel will
drop the reference on the frags to make them available for reuse.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Add documentation outlining the usage and details of devmem TCP.
Signed-off-by: Mina Almasry
Reviewed-by: Bagas Sanjaya
Reviewed-by: Donald Hunter
---
v16:
- Add documentation on unbinding the NIC from dmabuf (Donald).
- Add note that any dmabuf should work (Donald).
v9:
https
, ncdevmem has a validation mode,
where it sends a specific pattern and validates this pattern on the
receiver side to ensure data integrity.
Suggested-by: Stanislav Fomichev
Signed-off-by: Mina Almasry
---
v20:
- Remove unnecessary sleep(1)
- Add test to ensure dmabuf binding fails if header split is
7;inflight': 1023,
'inflight-mem': 4190208},
And queue stats:
$ ./cli.py --spec ../netlink/specs/netdev.yaml --dump queue-get
...
{'dmabuf': 10, 'id': 8, 'ifindex': 3, 'type': 'rx'},
{'dmabuf': 10, 'id': 9,
On Tue, Aug 20, 2024 at 11:19 AM Jakub Kicinski wrote:
>
> On Tue, 20 Aug 2024 00:01:02 -0400 Mina Almasry wrote:
> > Took a bit of a look here. Forgive me, I'm not that familiar with XDP
> > and virtual interfaces, so I'm a bit unsure what to do here.
> >
On Wed, Aug 21, 2024 at 5:15 AM Taehee Yoo wrote:
>
> On Tue, Aug 20, 2024 at 1:01 PM Mina Almasry wrote:
> >
> > On Mon, Aug 19, 2024 at 6:53 PM Jakub Kicinski wrote:
> > >
> > > On Mon, 19 Aug 2024 00:44:27 +0900 Taehee Yoo wrote:
> > > > &g
lbfs.c
> unconditionally tries to cleanup using shmdt(), even when we only
> mmap()'ed a hugetlb file. Even worse, shmaddr is never even set for the
> SHM case. Fix that as well.
>
> With this change it seems to work as expected.
>
> Fixes: 29750f71a9b4 ("hugetlb_cgroup: ad
IC: GVE with header split & RSS & flow steering support.
Cc: Pavel Begunkov
Cc: David Wei
Cc: Jason Gunthorpe
Cc: Yunsheng Lin
Cc: Shailend Chand
Cc: Harshitha Ramamurthy
Cc: Shakeel Butt
Cc: Jeroen de Borst
Cc: Praveen Kaligineedi
Cc: Bagas Sanjaya
Cc: Steven Rostedt
Cc: Christoph Hel
ff-by: Mina Almasry
Reviewed-by: Pavel Begunkov
Reviewed-by: Jakub Kicinski
---
v18:
- Add more color to commit message (Xuan Zhuo).
v17:
- Use ASSERT_RTNL() (Jakub).
v13:
- Add reviewed-by from Pavel (thanks!)
- Fixed comment (Pavel)
v11:
- Fix not checking dev->queue_mgmt_ops (Pavel
API takes the dma-buf fd as input, and binds it to the netdevice. The
user can specify the rx queues to bind the dma-buf to.
Suggested-by: Stanislav Fomichev
Signed-off-by: Mina Almasry
Reviewed-by: Donald Hunter
Reviewed-by: Jakub Kicinski
---
v16:
- Use subset-of: queue queue-id instead
The netdev_dmabuf_binding struct is refcounted, and releases its
resources only when all the refs are released.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov # excluding netlink
Acked-by: Daniel Vetter
---
v22:
- Disable binding xdp t
ff-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
---
v20:
- Removed dma_addr field in dmabuf_genpool_chunk_owner not used in this
patch (moved to later patch where it's used).
v19:
- Don't reset dma_addr on allocation/fr
hether the underlying type is page or net_iov.
Implement checks for net_iov in netmem helpers which delegate to mm
APIs, to ensure net_iov are never passed to the mm stack.
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
---
v19:
- Move page_pool_set_dma_addr(_netmem) to page_pool_priv.h
- D
is omitted for simplicity & p.order !=
0.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
---
v21:
- Provide empty definitions of functions moved to page_pool_priv.h, so
that the build still succeeds when CONFIG_PAGE_
Make skb_frag_page() fail in the case where the frag is not backed
by a page, and fix its relevant callers to handle this case.
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
---
v10:
- Fixed newly generated kdoc warnings found by patchwork. While we're
at it, fix the Return se
Add documentation outlining the usage and details of devmem TCP.
Signed-off-by: Mina Almasry
Reviewed-by: Bagas Sanjaya
Reviewed-by: Donald Hunter
---
v16:
- Add documentation on unbinding the NIC from dmabuf (Donald).
- Add note that any dmabuf should work (Donald).
v9:
https
Add an interface for the user to notify the kernel that it is done
reading the devmem dmabuf frags returned as cmsg. The kernel will
drop the reference on the frags to make them available for reuse.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
ags of
devmem skbs and avoid coalescing devmem skbs with non devmem skbs.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
---
v16:
- Fix unreadable handling in skb_split_no_header() (Eric).
v11:
- drop excessive checks for
er_frags, and each page passed to userspace is get_page()'d.
This reference is dropped once the userspace indicates that it is
done reading this page. All pages are released when the socket is
destroyed.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Re
7;inflight': 1023,
'inflight-mem': 4190208},
And queue stats:
$ ./cli.py --spec ../netlink/specs/netdev.yaml --dump queue-get
...
{'dmabuf': 10, 'id': 8, 'ifindex': 3, 'type': 'rx'},
{'dmabuf': 10, 'id': 9,
, ncdevmem has a validation mode,
where it sends a specific pattern and validates this pattern on the
receiver side to ensure data integrity.
Suggested-by: Stanislav Fomichev
Signed-off-by: Mina Almasry
---
v22:
- Add run_command helper. It reduces boiler plate and prints the
commands it is running
On Tue, Aug 27, 2024 at 7:15 PM Jakub Kicinski wrote:
>
> On Sun, 25 Aug 2024 04:15:02 +0000 Mina Almasry wrote:
> > +void net_devmem_free_dmabuf(struct net_iov *niov)
> > +{
> > + struct net_devmem_dmabuf_binding *binding = net_iov_binding(niov);
> >
On Tue, Aug 27, 2024 at 12:34 PM Willem de Bruijn
wrote:
>
> From: Willem de Bruijn
>
> Lay the groundwork to import into kselftests the over 150 packetdrill
> TCP/IP conformance tests on github.com/google/packetdrill.
>
> Florian recently added support for packetdrill tests in nf_conntrack,
> in
f provider.
** Test Setup
Kernel: net-next with this series and memory provider API cherry-picked
locally.
Hardware: Google Cloud A3 VMs.
NIC: GVE with header split & RSS & flow steering support.
Cc: Pavel Begunkov
Cc: David Wei
Cc: Jason Gunthorpe
Cc: Yunsheng Lin
Cc: Shailend Chan
ff-by: Mina Almasry
Reviewed-by: Pavel Begunkov
Reviewed-by: Jakub Kicinski
---
v18:
- Add more color to commit message (Xuan Zhuo).
v17:
- Use ASSERT_RTNL() (Jakub).
v13:
- Add reviewed-by from Pavel (thanks!)
- Fixed comment (Pavel)
v11:
- Fix not checking dev->queue_mgmt_ops (Pavel
API takes the dma-buf fd as input, and binds it to the netdevice. The
user can specify the rx queues to bind the dma-buf to.
Suggested-by: Stanislav Fomichev
Signed-off-by: Mina Almasry
Reviewed-by: Donald Hunter
Reviewed-by: Jakub Kicinski
---
v16:
- Use subset-of: queue queue-id instead
The netdev_dmabuf_binding struct is refcounted, and releases its
resources only when all the refs are released.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov # excluding netlink
Acked-by: Daniel Vetter
---
v23:
- Create CONFIG_NET_DE
ff-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
Reviewed-by: Jakub Kicinski
---
v23:
- WARN_ON when we don't see the dma_addr in the gen_pool (Jakub)
v20:
- Removed dma_addr field in dmabuf_genpool_chunk_owner not used in th
hether the underlying type is page or net_iov.
Implement checks for net_iov in netmem helpers which delegate to mm
APIs, to ensure net_iov are never passed to the mm stack.
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
Acked-by: Jakub Kicinski
---
v23:
- Fix comment on netmem_is_perf_
is omitted for simplicity & p.order !=
0.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
---
v23:
- Sort includes (Jakub)
- Add missing linux/mm.h include found after sorting.
v21:
- Provide empty definitions of fu
Make skb_frag_page() fail in the case where the frag is not backed
by a page, and fix its relevant callers to handle this case.
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
---
v10:
- Fixed newly generated kdoc warnings found by patchwork. While we're
at it, fix the Return se
ags of
devmem skbs and avoid coalescing devmem skbs with non devmem skbs.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
---
v16:
- Fix unreadable handling in skb_split_no_header() (Eric).
v11:
- drop excessive checks for
er_frags, and each page passed to userspace is get_page()'d.
This reference is dropped once the userspace indicates that it is
done reading this page. All pages are released when the socket is
destroyed.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Re
Add an interface for the user to notify the kernel that it is done
reading the devmem dmabuf frags returned as cmsg. The kernel will
drop the reference on the frags to make them available for reuse.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Add documentation outlining the usage and details of devmem TCP.
Signed-off-by: Mina Almasry
Reviewed-by: Bagas Sanjaya
Reviewed-by: Donald Hunter
---
v16:
- Add documentation on unbinding the NIC from dmabuf (Donald).
- Add note that any dmabuf should work (Donald).
v9:
https
7;inflight': 1023,
'inflight-mem': 4190208},
And queue stats:
$ ./cli.py --spec ../netlink/specs/netdev.yaml --dump queue-get
...
{'dmabuf': 10, 'id': 8, 'ifindex': 3, 'type': 'rx'},
{'dmabuf': 10, 'id': 9,
, ncdevmem has a validation mode,
where it sends a specific pattern and validates this pattern on the
receiver side to ensure data integrity.
Suggested-by: Stanislav Fomichev
Signed-off-by: Mina Almasry
---
v22:
- Add run_command helper. It reduces boiler plate and prints the
commands it is running
> +#include
> #include
>
...
>
> +#include
> #include
>
Darn, I went too overboard with sorting of includes. ynl-regen.sh
wants these in the reverse order, which is unsorted. I'll fix it in
the next iteration, and I added this check as well to my presubmits.
BTW I submitted 2 iterations al
On Thu, Aug 29, 2024 at 2:24 PM Vadim Fedorenko
wrote:
>
> On 29/08/2024 22:08, Jakub Kicinski wrote:
> > On Thu, 29 Aug 2024 06:01:16 + Mina Almasry wrote:
> >> +err = genlmsg_reply(rsp, info);
> >> +if (err)
> >> +got
er_frags, and each page passed to userspace is get_page()'d.
This reference is dropped once the userspace indicates that it is
done reading this page. All pages are released when the socket is
destroyed.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Re
Make skb_frag_page() fail in the case where the frag is not backed
by a page, and fix its relevant callers to handle this case.
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
---
v10:
- Fixed newly generated kdoc warnings found by patchwork. While we're
at it, fix the Return se
ff-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
Reviewed-by: Jakub Kicinski
---
v23:
- WARN_ON when we don't see the dma_addr in the gen_pool (Jakub)
v20:
- Removed dma_addr field in dmabuf_genpool_chunk_owner not used in th
The netdev_dmabuf_binding struct is refcounted, and releases its
resources only when all the refs are released.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov # excluding netlink
Acked-by: Daniel Vetter
---
v24:
- Fix a coupl
dependency on a specific dmabuf provider.
** Test Setup
Kernel: net-next with this series and memory provider API cherry-picked
locally.
Hardware: Google Cloud A3 VMs.
NIC: GVE with header split & RSS & flow steering support.
Cc: Pavel Begunkov
Cc: David Wei
Cc: Jason Gunthorpe
Cc: Y
ff-by: Mina Almasry
Reviewed-by: Pavel Begunkov
Reviewed-by: Jakub Kicinski
---
v18:
- Add more color to commit message (Xuan Zhuo).
v17:
- Use ASSERT_RTNL() (Jakub).
v13:
- Add reviewed-by from Pavel (thanks!)
- Fixed comment (Pavel)
v11:
- Fix not checking dev->queue_mgmt_ops (Pavel
Add documentation outlining the usage and details of devmem TCP.
Signed-off-by: Mina Almasry
Reviewed-by: Bagas Sanjaya
Reviewed-by: Donald Hunter
---
v16:
- Add documentation on unbinding the NIC from dmabuf (Donald).
- Add note that any dmabuf should work (Donald).
v9:
https
Add an interface for the user to notify the kernel that it is done
reading the devmem dmabuf frags returned as cmsg. The kernel will
drop the reference on the frags to make them available for reuse.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
7;inflight': 1023,
'inflight-mem': 4190208},
And queue stats:
$ ./cli.py --spec ../netlink/specs/netdev.yaml --dump queue-get
...
{'dmabuf': 10, 'id': 8, 'ifindex': 3, 'type': 'rx'},
{'dmabuf': 10, 'id': 9, &
API takes the dma-buf fd as input, and binds it to the netdevice. The
user can specify the rx queues to bind the dma-buf to.
Suggested-by: Stanislav Fomichev
Signed-off-by: Mina Almasry
Reviewed-by: Donald Hunter
Reviewed-by: Jakub Kicinski
---
v16:
- Use subset-of: queue queue-id instead
, ncdevmem has a validation mode,
where it sends a specific pattern and validates this pattern on the
receiver side to ensure data integrity.
Suggested-by: Stanislav Fomichev
Signed-off-by: Mina Almasry
---
v24:
- Add *.d to .gitignore, to stop tracking this file the build generates:
```
git status
is omitted for simplicity & p.order !=
0.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
---
v23:
- Sort includes (Jakub)
- Add missing linux/mm.h include found after sorting.
v21:
- Provide empty definitions of fu
hether the underlying type is page or net_iov.
Implement checks for net_iov in netmem helpers which delegate to mm
APIs, to ensure net_iov are never passed to the mm stack.
Signed-off-by: Mina Almasry
Reviewed-by: Pavel Begunkov
Acked-by: Jakub Kicinski
---
v23:
- Fix comment on netmem_is_perf_
ags of
devmem skbs and avoid coalescing devmem skbs with non devmem skbs.
Signed-off-by: Willem de Bruijn
Signed-off-by: Kaiyuan Zhang
Signed-off-by: Mina Almasry
Reviewed-by: Eric Dumazet
---
v16:
- Fix unreadable handling in skb_split_no_header() (Eric).
v11:
- drop excessive checks for
gned-off-by: Jakub Kicinski
Whoops, sorry about that.
Reviewed-by: Mina Almasry
--
Thanks,
Mina
face is down so queue reset is not needed.
> So, it should not warn if the return value is -ENETDOWN.
>
> Signed-off-by: Taehee Yoo
Reviewed-by: Mina Almasry
c5/0x240
> net_devmem_bind_dmabuf_to_queue+0xf8/0x200
> netdev_nl_bind_rx_doit+0x3a7/0x450
> genl_family_rcv_msg_doit+0xd9/0x130
> genl_rcv_msg+0x184/0x2b0
> ? __pfx_netdev_nl_bind_rx_doit+0x10/0x10
> ? __pfx_genl_rcv_msg+0x10/0x10
> netlink_rcv_skb+0x54/0x100
&g
401 - 462 of 462 matches
Mail list logo