Message ID | 1565951171-14439-1-git-send-email-magnus.karlsson@intel.com |
---|---|
State | Changes Requested |
Delegated to: | BPF Maintainers |
Headers | show |
Series | [bpf-next] libbpf: remove zc variable as it is not used | expand |
On 8/16/19 3:26 AM, Magnus Karlsson wrote: > The zc is not used in the xsk part of libbpf, so let us remove it. Not > good to have dead code lying around. > > Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> > Reported-by: Yonghong Song <yhs@fb.com> > --- > tools/lib/bpf/xsk.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c > index 680e630..9687da9 100644 > --- a/tools/lib/bpf/xsk.c > +++ b/tools/lib/bpf/xsk.c > @@ -65,7 +65,6 @@ struct xsk_socket { > int xsks_map_fd; > __u32 queue_id; > char ifname[IFNAMSIZ]; > - bool zc; > }; > > struct xsk_nl_info { > @@ -608,8 +607,6 @@ int xsk_socket__create(struct xsk_socket **xsk_ptr, const char *ifname, > goto out_mmap_tx; > } > > - xsk->zc = opts.flags & XDP_OPTIONS_ZEROCOPY; Since opts.flags usage is removed. Do you think it makes sense to remove optlen = sizeof(opts); err = getsockopt(xsk->fd, SOL_XDP, XDP_OPTIONS, &opts, &optlen); if (err) { err = -errno; goto out_mmap_tx; } as well since nobody then uses opts? > - > if (!(xsk->config.libbpf_flags & XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD)) { > err = xsk_setup_xdp_prog(xsk); > if (err) >
On 16 Aug 2019, at 8:37, Yonghong Song wrote: > On 8/16/19 3:26 AM, Magnus Karlsson wrote: >> The zc is not used in the xsk part of libbpf, so let us remove it. >> Not >> good to have dead code lying around. >> >> Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> >> Reported-by: Yonghong Song <yhs@fb.com> > --- >> tools/lib/bpf/xsk.c | 3 --- >> 1 file changed, 3 deletions(-) >> >> diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c >> index 680e630..9687da9 100644 >> --- a/tools/lib/bpf/xsk.c >> +++ b/tools/lib/bpf/xsk.c >> @@ -65,7 +65,6 @@ struct xsk_socket { >> int xsks_map_fd; >> __u32 queue_id; >> char ifname[IFNAMSIZ]; >> - bool zc; >> }; >> >> struct xsk_nl_info { >> @@ -608,8 +607,6 @@ int xsk_socket__create(struct xsk_socket >> **xsk_ptr, const char *ifname, >> goto out_mmap_tx; >> } >> >> - xsk->zc = opts.flags & XDP_OPTIONS_ZEROCOPY; > > Since opts.flags usage is removed. Do you think it makes sense to > remove > optlen = sizeof(opts); > err = getsockopt(xsk->fd, SOL_XDP, XDP_OPTIONS, &opts, > &optlen); > if (err) { > err = -errno; > goto out_mmap_tx; > } > as well since nobody then uses opts? IIRC, this was added specifically in 2761ed4b6e192820760d5ba913834b2ba05fd08c so that userland code could know whether the socket was operating in zero-copy mode or not.
On Sat, Aug 17, 2019 at 12:02 AM Jonathan Lemon <jonathan.lemon@gmail.com> wrote: > > > > On 16 Aug 2019, at 8:37, Yonghong Song wrote: > > > On 8/16/19 3:26 AM, Magnus Karlsson wrote: > >> The zc is not used in the xsk part of libbpf, so let us remove it. > >> Not > >> good to have dead code lying around. > >> > >> Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> > >> Reported-by: Yonghong Song <yhs@fb.com> > --- > >> tools/lib/bpf/xsk.c | 3 --- > >> 1 file changed, 3 deletions(-) > >> > >> diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c > >> index 680e630..9687da9 100644 > >> --- a/tools/lib/bpf/xsk.c > >> +++ b/tools/lib/bpf/xsk.c > >> @@ -65,7 +65,6 @@ struct xsk_socket { > >> int xsks_map_fd; > >> __u32 queue_id; > >> char ifname[IFNAMSIZ]; > >> - bool zc; > >> }; > >> > >> struct xsk_nl_info { > >> @@ -608,8 +607,6 @@ int xsk_socket__create(struct xsk_socket > >> **xsk_ptr, const char *ifname, > >> goto out_mmap_tx; > >> } > >> > >> - xsk->zc = opts.flags & XDP_OPTIONS_ZEROCOPY; > > > > Since opts.flags usage is removed. Do you think it makes sense to > > remove > > optlen = sizeof(opts); > > err = getsockopt(xsk->fd, SOL_XDP, XDP_OPTIONS, &opts, > > &optlen); > > if (err) { > > err = -errno; > > goto out_mmap_tx; > > } > > as well since nobody then uses opts? > > IIRC, this was added specifically in > 2761ed4b6e192820760d5ba913834b2ba05fd08c > so that userland code could know whether the socket was operating in > zero-copy > mode or not. Thanks for reminding me Jonathan. Roping in Maxim here since he wrote the patch. Was this something you planned on using but the functionality that needed it was removed? The patch set did go through a number of changes in the libbpf area, if I remember correctly. There are two options: either we remove it, or we add an interface in xsk.h so that people can use it. I vote for the latter since I think it could be useful. The sample app could use it at least :-). /Magnus > -- > Jonathan
On 2019-08-19 09:35, Magnus Karlsson wrote: > On Sat, Aug 17, 2019 at 12:02 AM Jonathan Lemon > <jonathan.lemon@gmail.com> wrote: >> >> >> >> On 16 Aug 2019, at 8:37, Yonghong Song wrote: >> >>> On 8/16/19 3:26 AM, Magnus Karlsson wrote: >>>> The zc is not used in the xsk part of libbpf, so let us remove it. >>>> Not >>>> good to have dead code lying around. >>>> >>>> Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> >>>> Reported-by: Yonghong Song <yhs@fb.com> > --- >>>> tools/lib/bpf/xsk.c | 3 --- >>>> 1 file changed, 3 deletions(-) >>>> >>>> diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c >>>> index 680e630..9687da9 100644 >>>> --- a/tools/lib/bpf/xsk.c >>>> +++ b/tools/lib/bpf/xsk.c >>>> @@ -65,7 +65,6 @@ struct xsk_socket { >>>> int xsks_map_fd; >>>> __u32 queue_id; >>>> char ifname[IFNAMSIZ]; >>>> - bool zc; >>>> }; >>>> >>>> struct xsk_nl_info { >>>> @@ -608,8 +607,6 @@ int xsk_socket__create(struct xsk_socket >>>> **xsk_ptr, const char *ifname, >>>> goto out_mmap_tx; >>>> } >>>> >>>> - xsk->zc = opts.flags & XDP_OPTIONS_ZEROCOPY; >>> >>> Since opts.flags usage is removed. Do you think it makes sense to >>> remove >>> optlen = sizeof(opts); >>> err = getsockopt(xsk->fd, SOL_XDP, XDP_OPTIONS, &opts, >>> &optlen); >>> if (err) { >>> err = -errno; >>> goto out_mmap_tx; >>> } >>> as well since nobody then uses opts? >> >> IIRC, this was added specifically in >> 2761ed4b6e192820760d5ba913834b2ba05fd08c >> so that userland code could know whether the socket was operating in >> zero-copy >> mode or not. > > Thanks for reminding me Jonathan. > > Roping in Maxim here since he wrote the patch. Was this something you > planned on using but the functionality that needed it was removed? The > patch set did go through a number of changes in the libbpf area, if I > remember correctly. > > There are two options: either we remove it, or we add an interface in > xsk.h so that people can use it. I vote for the latter since I think > it could be useful. The sample app could use it at least :-). +1, let's expose it and make xdpsock read and print it. I added this flag to libbpf when I added the ability to query it from the kernel, but I didn't pay attention that struct xsk_socket was private to libbpf, and xsk->zc couldn't be accessed externally. > /Magnus > >> -- >> Jonathan
On Mon, Aug 19, 2019 at 8:47 AM Maxim Mikityanskiy <maximmi@mellanox.com> wrote: > > On 2019-08-19 09:35, Magnus Karlsson wrote: > > On Sat, Aug 17, 2019 at 12:02 AM Jonathan Lemon > > <jonathan.lemon@gmail.com> wrote: > >> > >> > >> > >> On 16 Aug 2019, at 8:37, Yonghong Song wrote: > >> > >>> On 8/16/19 3:26 AM, Magnus Karlsson wrote: > >>>> The zc is not used in the xsk part of libbpf, so let us remove it. > >>>> Not > >>>> good to have dead code lying around. > >>>> > >>>> Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> > >>>> Reported-by: Yonghong Song <yhs@fb.com> > --- > >>>> tools/lib/bpf/xsk.c | 3 --- > >>>> 1 file changed, 3 deletions(-) > >>>> > >>>> diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c > >>>> index 680e630..9687da9 100644 > >>>> --- a/tools/lib/bpf/xsk.c > >>>> +++ b/tools/lib/bpf/xsk.c > >>>> @@ -65,7 +65,6 @@ struct xsk_socket { > >>>> int xsks_map_fd; > >>>> __u32 queue_id; > >>>> char ifname[IFNAMSIZ]; > >>>> - bool zc; > >>>> }; > >>>> > >>>> struct xsk_nl_info { > >>>> @@ -608,8 +607,6 @@ int xsk_socket__create(struct xsk_socket > >>>> **xsk_ptr, const char *ifname, > >>>> goto out_mmap_tx; > >>>> } > >>>> > >>>> - xsk->zc = opts.flags & XDP_OPTIONS_ZEROCOPY; > >>> > >>> Since opts.flags usage is removed. Do you think it makes sense to > >>> remove > >>> optlen = sizeof(opts); > >>> err = getsockopt(xsk->fd, SOL_XDP, XDP_OPTIONS, &opts, > >>> &optlen); > >>> if (err) { > >>> err = -errno; > >>> goto out_mmap_tx; > >>> } > >>> as well since nobody then uses opts? > >> > >> IIRC, this was added specifically in > >> 2761ed4b6e192820760d5ba913834b2ba05fd08c > >> so that userland code could know whether the socket was operating in > >> zero-copy > >> mode or not. > > > > Thanks for reminding me Jonathan. > > > > Roping in Maxim here since he wrote the patch. Was this something you > > planned on using but the functionality that needed it was removed? The > > patch set did go through a number of changes in the libbpf area, if I > > remember correctly. > > > > There are two options: either we remove it, or we add an interface in > > xsk.h so that people can use it. I vote for the latter since I think > > it could be useful. The sample app could use it at least :-). > > +1, let's expose it and make xdpsock read and print it. I added this > flag to libbpf when I added the ability to query it from the kernel, but > I didn't pay attention that struct xsk_socket was private to libbpf, and > xsk->zc couldn't be accessed externally. Good. I will then add it. Please discard this patch. I will add this interface in a new patch. /Magnus > > /Magnus > > > >> -- > >> Jonathan >
diff --git a/tools/lib/bpf/xsk.c b/tools/lib/bpf/xsk.c index 680e630..9687da9 100644 --- a/tools/lib/bpf/xsk.c +++ b/tools/lib/bpf/xsk.c @@ -65,7 +65,6 @@ struct xsk_socket { int xsks_map_fd; __u32 queue_id; char ifname[IFNAMSIZ]; - bool zc; }; struct xsk_nl_info { @@ -608,8 +607,6 @@ int xsk_socket__create(struct xsk_socket **xsk_ptr, const char *ifname, goto out_mmap_tx; } - xsk->zc = opts.flags & XDP_OPTIONS_ZEROCOPY; - if (!(xsk->config.libbpf_flags & XSK_LIBBPF_FLAGS__INHIBIT_PROG_LOAD)) { err = xsk_setup_xdp_prog(xsk); if (err)
The zc is not used in the xsk part of libbpf, so let us remove it. Not good to have dead code lying around. Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> Reported-by: Yonghong Song <yhs@fb.com> --- tools/lib/bpf/xsk.c | 3 --- 1 file changed, 3 deletions(-)