Add sockmap option to use SK_MSG program types.
Signed-off-by: John Fastabend
Acked-by: David S. Miller
---
samples/bpf/bpf_load.c|8 +++
samples/sockmap/sockmap_kern.c| 52 +++
samples/sockmap/sockmap_user.c| 67
Test read and writes for BPF_PROG_TYPE_SK_MSG.
Signed-off-by: John Fastabend
Acked-by: David S. Miller
---
tools/testing/selftests/bpf/test_verifier.c | 54 +++
1 file changed, 54 insertions(+)
diff --git a/tools/testing/selftests/bpf/test_verifier.c
b/tools/testing
gth). This is required to ensure any
writes by the BPF program are correctly transmitted.
Lastly this operation will invalidate any previous
data checks so BPF programs will have to revalidate
pointers after making this BPF call.
Signed-off-by: John Fastab
noisy variants) to run pull_data inline with
those tests. By giving user direct control over the variables
we can easily do negative testing as well as positive tests.
Signed-off-by: John Fastabend
Acked-by: David S. Miller
---
samples/sockmap/sockmap_kern.c| 79
On 03/19/2018 09:30 AM, Alexei Starovoitov wrote:
> On Sun, Mar 18, 2018 at 12:57:20PM -0700, John Fastabend wrote:
>> In the case where we need a specific number of bytes before a
>> verdict can be assigned, even if the data spans multiple sendmsg
>> or sendfile calls. Th
On 03/19/2018 01:24 PM, Alexei Starovoitov wrote:
> On Sun, Mar 18, 2018 at 12:57:25PM -0700, John Fastabend wrote:
>> Currently, if a bpf sk msg program is run the program
>> can only parse data that the (start,end) pointers already
>> consumed. For sendmsg hooks thi
On 03/21/2018 03:01 AM, Jakob Unterwurzacher wrote:
> On 16.03.18 11:26, Jakob Unterwurzacher wrote:
>> On 15.03.18 23:30, John Fastabend wrote:
>>>> I have reproduced it using two USB network cards connected to each other.
>>>> The test tool sends UDP packets co
On 03/21/2018 12:44 PM, Jakob Unterwurzacher wrote:
> On 21.03.18 19:43, John Fastabend wrote:
>> Thats my theory at least. Are you able to test a patch if I generate
>> one to fix this?
>
> Yes, no problem.
Can you try this,
diff --git a/include/net/sch_generic.h b/incl
On 03/22/2018 03:16 AM, Jakob Unterwurzacher wrote:
> On 21.03.18 21:52, John Fastabend wrote:
>> Can you try this,
>>
>> diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
>> index d4907b5..1e596bd 100644
>> --- a/include/net/sch_generic.h
&
queue
NICs we can still have a dequeue in-flight per qdisc, which
is typically per CPU.
Fixes: c5ad119fb6c0 ("net: sched: pfifo_fast use skb_array")
Reported-by: Jakob Unterwurzacher
Signed-off-by: John Fastabend
---
include/net/sch_generic.h |1 +
net/sched/sch_generic.c | 13 +
On 03/24/2018 02:15 PM, Eric Dumazet wrote:
>
>
> On 03/24/2018 01:13 PM, John Fastabend wrote:
>> After the qdisc lock was dropped in pfifo_fast we allow multiple
>> enqueue threads and dequeue threads to run in parallel. On the
>> enqueue side the skb bit ooo_okay is
queue
NICs we can still have a dequeue in-flight per qdisc, which
is typically per CPU.
Fixes: c5ad119fb6c0 ("net: sched: pfifo_fast use skb_array")
Reported-by: Jakob Unterwurzacher
Signed-off-by: John Fastabend
---
include/net/sch_generic.h |1 +
net/sched/sch_gen
On 03/26/2018 09:36 AM, David Miller wrote:
> From: John Fastabend
> Date: Sat, 24 Mar 2018 22:25:06 -0700
>
>> After the qdisc lock was dropped in pfifo_fast we allow multiple
>> enqueue threads and dequeue threads to run in parallel. On the
>> enqueue side the
write side) so that we have
a way to wake up polling socks when a scatterlist is redirected
to that sock.
After this all that is needed is for the redirect helper to
push the scatterlist into the psock receive queue.
Signed-off-by: John Fastabend
---
include/linux/filter.h |1
include/net
Add a set of tests to verify ingress flag in redirect helpers
works correctly with various msg sizes.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_kern.c | 41 +--
samples/sockmap/sockmap_test.sh | 22 -
samples/sockmap
and four add tests for the corresponding
ingress redirect hooks.
Follow on patches can address busy polling support, but next series
from me will move the sockmap sample program into selftests.
Thanks,
John
---
John Fastabend (4):
bpf: sockmap redirect ingress support
bpf: sockmap
Add support for the BPF_F_INGRESS flag in skb redirect helper. To
do this convert skb into a scatterlist and push into ingress queue.
This is the same logic that is used in the sk_msg redirect helper
so it should feel familiar.
Signed-off-by: John Fastabend
---
include/linux/filter.h |1
Add BPF_SK_SKB_STREAM_VERDICT tests for ingress hook. While
we do this also bring stream tests in-line with MSG based
testing.
A map for skb options is added for userland to push options
at BPF programs.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_kern.c | 21
On 03/26/2018 10:30 AM, Cong Wang wrote:
> On Sat, Mar 24, 2018 at 10:25 PM, John Fastabend
> wrote:
>> After the qdisc lock was dropped in pfifo_fast we allow multiple
>> enqueue threads and dequeue threads to run in parallel. On the
>> enqueue side the skb bit ooo_ok
; @@ -774,7 +778,6 @@ static int bpf_tcp_sendpage(struct sock *sk, struct page
> *page,
> goto out_err;
>
> psock->sg_size += size;
> - sg = &m->sg_data[m->sg_end];
> sg_set_page(sg, page, size, offset);
> get_page(page);
> m->sg_copy[m->sg_end] = true;
>
Nice, catch. I probably should audit though code paths
as well and run the test suite with CONFIG_DEBUG_SG. There
might be a couple other spots where I open coded the sg
elements.
Thanks,
John
m, I left out lockdep annotation for a follow on series
to add lockdep more completely, rather than just in code I
touched.
Comments and feedback welcome.
Thanks,
John
---
John Fastabend (14):
net: sched: cleanup qdisc_run and __qdisc_run semantics
net: sched: allow qdiscs to handle locking
Currently __qdisc_run calls qdisc_run_end() but does not call
qdisc_run_begin(). This makes it hard to track pairs of
qdisc_run_{begin,end} across function calls.
To simplify reading these code paths this patch moves begin/end calls
into qdisc_run().
Signed-off-by: John Fastabend
---
include
doing the enqueue/dequeue operations when tested with
pktgen.
Signed-off-by: John Fastabend
---
include/net/sch_generic.h |1 +
net/core/dev.c| 26 ++
net/sched/sch_generic.c | 30 --
3 files changed, 43 insertions(+), 14
The per cpu qstats support was added with per cpu bstat support which
is currently used by the ingress qdisc. This patch adds a set of
helpers needed to make other qdiscs that use qstats per cpu as well.
Signed-off-by: John Fastabend
---
include/net/sch_generic.h | 35
ow it returns true. However in this case all
call sites of sch_direct_xmit will implement a dequeue() and get
a null skb and abort. This trades tracking qlen in the hotpath for
an extra dequeue operation. Overall this seems to be good for
performance.
Signed-off-by: John Fastabend
---
includ
ate the qdisc object so we don't have
dangling allocations after qdisc init.
Signed-off-by: John Fastabend
---
include/net/sch_generic.h |1 +
net/sched/sch_generic.c | 16
2 files changed, 17 insertions(+)
diff --git a/include/net/sch_generic.h b/include/net/sch_g
once its possible to have multiple
sk_buffs here so we turn gso_skb into a queue.
This should be the edge case and if we see this frequently then
the netdev/qdisc layer needs to back off.
Signed-off-by: John Fastabend
---
include/net/sch_generic.h | 20 ++-
net/sched/sch_generic.c
Similar to how gso is handled use skb list for skb_bad_tx this is
required with lockless qdiscs because we may have multiple cores
attempting to push skbs into skb_bad_tx concurrently
Signed-off-by: John Fastabend
---
include/net/sch_generic.h |2 -
net/sched/sch_generic.c | 106
I can not think of any reason to pull the bad txq skb off the qdisc if
the txq we plan to send this on is still frozen. So check for frozen
queue first and abort before dequeuing either skb_bad_txq skb or
normal qdisc dequeue() skb.
Signed-off-by: John Fastabend
---
net/sched/sch_generic.c
-off-by: John Fastabend
---
include/net/sch_generic.h | 20
net/sched/sch_api.c |3 ++-
2 files changed, 22 insertions(+), 1 deletion(-)
diff --git a/include/net/sch_generic.h b/include/net/sch_generic.h
index 4717c4b..2fbae2c9 100644
--- a/include/net
this case add a check when calculating
stats and aggregate the per cpu stats if needed.
Also exports __gnet_stats_copy_queue() to use as a helper function.
Signed-off-by: John Fastabend
---
include/net/gen_stats.h |3 +++
net/core/gen_stats.c|9 +
net/sched/sch_mq.c
ce period and letting the
qdisc_destroy operation clean up the qdisc correctly.
Note, a refcnt greater than 1 would cause the destroy operation to
be aborted however if this ever happened the reference to the qdisc
would be lost and we would have a memory leak.
Signed-off-by: John Fastabend
---
net/s
This adds a peek routine to skb_array.h for use with qdisc.
Signed-off-by: John Fastabend
---
include/linux/skb_array.h |5 +
1 file changed, 5 insertions(+)
diff --git a/include/linux/skb_array.h b/include/linux/skb_array.h
index 8621ffd..c7addf3 100644
--- a/include/linux/skb_array.h
andle this case add a check when calculating
stats and aggregate the per cpu stats if needed.
Signed-off-by: John Fastabend
---
net/sched/sch_mq.c | 35 +++-
net/sched/sch_mqprio.c | 69 +---
2 files changed, 69 insertions(+), 35
graft operation occurs.
This also removes the logic used to pick the next band to dequeue from
and instead just checks a per priority array for packets from top priority
to lowest. This might need to be a bit more clever but seems to work
for now.
Signed-off-by: John Fastabend
---
net/sched
sage graph:
> https://ibb.co/hU97kG
>
> And there is rising slab_unrecl - Amount of unreclaimable memory used
> for slab kernel allocations
>
>
> Forgot to add that im using hfsc and qdiscs like pfifo on classes.
>
>
Maybe some error case I missed in the qdisc patches I'm looking into
it.
Thanks,
John
On 12/12/2017 09:57 AM, Paweł Staszewski wrote:
>
>
> W dniu 2017-12-11 o 23:27, Paweł Staszewski pisze:
>>
>>
>> W dniu 2017-12-11 o 23:15, John Fastabend pisze:
>>> On 12/11/2017 01:48 PM, Paweł Staszewski wrote:
>>>>
>>>>
ly should _not_ be a side effect of enabling XDP on a device.
>
Agreed, CC Emil and Alex we should restore these settings after the
reconfiguration done to support a queue per core.
.John
: pfifo_fast use skb_array")
> Reported-by: syzbot
> Cc: John Fastabend
> Signed-off-by: Cong Wang
> ---
> net/sched/sch_generic.c | 8 +++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
On 12/18/2017 06:20 PM, Cong Wang wrote:
> On Mon, Dec 18, 2017 at 5:25 PM, John Fastabend
> wrote:
>> On 12/18/2017 02:34 PM, Cong Wang wrote:
>>> First, the check of &q->ring.queue against NULL is wrong, it
>>> is always false. We should check the value rath
On 12/18/2017 08:31 PM, Cong Wang wrote:
> On Mon, Dec 18, 2017 at 7:58 PM, John Fastabend
> wrote:
>> On 12/18/2017 06:20 PM, Cong Wang wrote:
>>> On Mon, Dec 18, 2017 at 5:25 PM, John Fastabend
>>> wrote:
>>>> On 12/18/2017 02:34 PM, Cong Wang wrote
>> Signed-off-by: Prashant Bhole
>
> Applied to bpf-next, thanks Prashant!
>
Thanks!
Acked-by: John Fastabend
Bhole
>
> Also applied to bpf-next considering that John is planning to move
> the whole file into selftests soon.
>
Thanks for the fix here as well.
Acked-by: John Fastabend
On 02/13/2018 05:57 PM, Alexei Starovoitov wrote:
> On Tue, Feb 13, 2018 at 02:15:36PM +0100, Jesper Dangaard Brouer wrote:
>> If is sufficient with a forward declaration of struct xdp_rxq_info in
>> linux/filter.h, which avoids including net/xdp.h. This was originally
>&
t;>> a map_alloc() handler to return an error, not a NULL pointer,
>>> otherwise we crash later in find_and_alloc_map()
>>>
>>> Fixes: 174a79ff9515 ("bpf: sockmap with sk redirect support")
>>> Signed-off-by: Eric Dumazet
>>> Reported-b
gt; is already runnig.
>
> Signed-off-by: Tushar Dave
> ---
Looks good to me.
Acked-by: John Fastabend
a physical device (ixgbe) into a
> guest device. Ran a benchmark:
> - 0.5 Mpps with normal code path into device with driver tun
> - 3.7 Mpps with XDP_REDIRECT from ixgbe into same device
Yep also very interesting but a different use case. This is accelerating
the hypervisor vswitch.
On 02/20/2018 03:17 AM, Jesper Dangaard Brouer wrote:
> On Fri, 16 Feb 2018 09:19:02 -0800
> John Fastabend wrote:
>
>> On 02/16/2018 07:41 AM, Jesper Dangaard Brouer wrote:
>>> On Fri, 16 Feb 2018 13:31:37 +0800
>>> Jason Wang wrote:
>>>
>>
; function when attaching an XDP program, and also change the memory
> model to be compatible with XDP when attaching an XDP prog.
>
> Fixes: 186b3c998c50 ("virtio-net: support XDP_REDIRECT")
> Signed-off-by: Jesper Dangaard Brouer
> ---
Acked-by: John Fastabend
Seems re
>
> Fixes: bb91accf2733 ("virtio-net: XDP support for small buffers")
> Signed-off-by: Jesper Dangaard Brouer
> ---
Acked-by: John Fastabend
Thanks!
> drivers/net/virtio_net.c |2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/driver
t follow API of xdp_do_redirect(), which on errors leave it up to
> the caller to free the page, of the failed send operation.
>
> Fixes: 186b3c998c50 ("virtio-net: support XDP_REDIRECT")
> Signed-off-by: Jesper Dangaard Brouer
> ---
Acked-by: John Fastabend
Signed-off-by: Jesper Dangaard Brouer
> ---
Yep, nice catch. I caught this in ixgbe but didn't manage to
pull it into virtio.
Acked-by: John Fastabend
> drivers/net/virtio_net.c | 12 +++-
> 1 file changed, 11 insertions(+), 1 deletion(-)
>
> diff --git a/driv
On 02/23/2018 09:40 AM, Edward Cree wrote:
> Add in a new chain of parent states, which does not cross function-call
> boundaries, and check whether our current insn_idx appears anywhere in
> the chain. Since all jump targets have state-list marks (now placed
> by prepare_cfg_marks(), which rep
On 02/23/2018 09:41 AM, Edward Cree wrote:
> Where the register umin_value is increasing sufficiently fast, the loop
> will terminate after a reasonable number of iterations, so we can allow
> to keep walking it.
Continuing to walk the loop is problematic because we hit the complexity
limit. Wha
On 01/09/2018 05:30 AM, Jesper Dangaard Brouer wrote:
> On Mon, 08 Jan 2018 10:05:07 -0800
> John Fastabend wrote:
>
>> sockmap sample program takes arguments from cmd line but it reads them
>> in using offsets into the array. Because we want to add more arguments
>> i
On 01/09/2018 05:27 AM, Jesper Dangaard Brouer wrote:
> On Mon, 08 Jan 2018 10:05:58 -0800
> John Fastabend wrote:
>
>> Report bytes/sec sent as well as total bytes. Useful to get rough
>> idea how different configurations and usage patterns perform with
>> sockmap
On 01/10/2018 06:03 AM, Michael S. Tsirkin wrote:
> This explains why is the net usage of __ptr_ring_peek
> actually ok without locks.
>
> Signed-off-by: Michael S. Tsirkin
> ---
>
> John - I think this is more or less what you meant. Is that right?
Yep, thanks for fo
seful, the reporting is bare bones, etc. But,
IMO lets push this now rather than sit on it for weeks until I get
time to do the above improvements. Additional patches can address
the other limitations/issues.
v2: removed bogus file added by patch 3/7
---
John Fastabend (7):
bpf: refactor sock
future.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c | 142 +---
1 file changed, 103 insertions(+), 39 deletions(-)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c
index 7cc9d22..5cbe7a5 100644
--- a/samples/sockmap
supported, but more can be added as
needed.
The new help argument gives the following,
Usage: ./sockmap --cgroup
options:
--help -h
--cgroup -c
--rate -r
--verbose -v
--iov_count-i
--length -l
--test -t
Signed-off-by: John Fastabend
Report bytes/sec sent as well as total bytes. Useful to get rough
idea how different configurations and usage patterns perform with
sockmap.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c | 37 -
1 file changed, 32 insertions(+), 5
get many GBps of data which helps exercise the
sockmap code.
Signed-off-by: John Fastabend
---
samples/sockmap/Makefile |2 +
samples/sockmap/sockmap_user.c | 58 +---
2 files changed, 43 insertions(+), 17 deletions(-)
diff --git a/samples/sockmap
Add a base test that does not use BPF hooks to test baseline case.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c | 26 +-
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c
-by: John Fastabend
---
samples/sockmap/sockmap_user.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c
index eb19d14..9496b2c 100644
--- a/samples/sockmap/sockmap_user.c
+++ b/samples/sockmap/sockmap_user.c
Avoid extra step of setting limit from cmdline and do it directly in
the program.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c |7 +++
1 file changed, 7 insertions(+)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c
index 9496b2c..16c19c5
On 01/11/2018 01:05 PM, Martin KaFai Lau wrote:
> On Wed, Jan 10, 2018 at 10:39:04AM -0800, John Fastabend wrote:
>> sockmap sample program takes arguments from cmd line but it reads them
>> in using offsets into the array. Because we want to add more arguments
>> in the
On 01/11/2018 01:08 PM, Martin KaFai Lau wrote:
> On Wed, Jan 10, 2018 at 10:39:37AM -0800, John Fastabend wrote:
>> Currently for SENDMSG tests first send completes then recv runs. This
>> does not work well for large data sizes and/or many iterations. So
>> fork the recv and
On 01/11/2018 01:10 PM, Martin KaFai Lau wrote:
> On Wed, Jan 10, 2018 at 10:40:11AM -0800, John Fastabend wrote:
>> Add a base test that does not use BPF hooks to test baseline case.
>>
>> Signed-off-by: John Fastabend
>> ---
>> samp
On 01/10/2018 05:25 PM, Daniel Borkmann wrote:
> On 01/10/2018 07:39 PM, John Fastabend wrote:
>> sockmap sample program takes arguments from cmd line but it reads them
>> in using offsets into the array. Because we want to add more arguments
>> in the future lets do pro
On 01/10/2018 05:31 PM, Daniel Borkmann wrote:
> On 01/10/2018 07:39 PM, John Fastabend wrote:
>> Currently for SENDMSG tests first send completes then recv runs. This
>> does not work well for large data sizes and/or many iterations. So
>> fork the recv and send handler so
On 01/11/2018 08:31 PM, John Fastabend wrote:
> On 01/10/2018 05:25 PM, Daniel Borkmann wrote:
>> On 01/10/2018 07:39 PM, John Fastabend wrote:
>>> sockmap sample program takes arguments from cmd line but it reads them
>>> in using offsets into the array. Because we
sighandler update,
2/7 free iov in error cases
3/7 fix bogus makefile change, bail out early on errors
Thanks Daniel and Martin for the reviews!
---
John Fastabend (7):
bpf: refactor sockmap sample program update for arg parsing
bpf: add sendmsg option for testing BPF programs
future.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c | 164
1 file changed, 113 insertions(+), 51 deletions(-)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c
index 7cc9d22..17400d4 100644
--- a/samples/sockmap
get many GBps of data which helps exercise the
sockmap code.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c | 58 +---
1 file changed, 42 insertions(+), 16 deletions(-)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap
Add a base test that does not use BPF hooks to test baseline case.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c | 26 +-
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c
supported, but more can be added as
needed.
The new help argument gives the following,
Usage: ./sockmap --cgroup
options:
--help -h
--cgroup -c
--rate -r
--verbose -v
--iov_count-i
--length -l
--test -t
Signed-off-by: John Fastabend
-by: John Fastabend
---
samples/sockmap/sockmap_user.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c
index c3295a7..818766b 100644
--- a/samples/sockmap/sockmap_user.c
+++ b/samples/sockmap/sockmap_user.c
Avoid extra step of setting limit from cmdline and do it directly in
the program.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c |7 +++
1 file changed, 7 insertions(+)
diff --git a/samples/sockmap/sockmap_user.c b/samples/sockmap/sockmap_user.c
index 818766b..a6dab97
Report bytes/sec sent as well as total bytes. Useful to get rough
idea how different configurations and usage patterns perform with
sockmap.
Signed-off-by: John Fastabend
---
samples/sockmap/sockmap_user.c | 37 -
1 file changed, 32 insertions(+), 5
e automated side. We can push this as an independent patch
set.
---
John Fastabend (7):
net: add a UID to use for ULP socket assignment
sock: make static tls function alloc_sg generic sock helper
sockmap: convert refcnt to an atomic refcnt
net: do_tcp_sendpages flag to avo
ULP is known and done on the
kernel side. In this case the named lookup is not needed.
Remove pr_notice, user gets an error code back and should
check that rather than rely on logs.
Signed-off-by: John Fastabend
---
include/net/tcp.h |5 +
net/ipv4/tcp_ulp.c | 51
sk_callback_lock() here (on every send) seems less than
ideal, also it may sleep in cases where we hit memory pressure.
Instead of dealing with these issues in some clever way simply make
the reference counting a refcnt_t type and do proper atomic ops.
Signed-off-by: John Fastabend
---
kernel/bpf
The TLS ULP module builds scatterlists from a sock using
page_frag_refill(). This is going to be useful for other ULPs
so move it into sock file for more general use.
In the process remove useless goto at end of while loop.
Signed-off-by: John Fastabend
---
include/net/sock.h |4 +++
net
When calling do_tcp_sendpages() from in kernel and we know the data
has no references from user side we can omit SKBTX_SHARED_FRAG flag.
This patch adds an internal flag, NO_SKBTX_SHARED_FRAG that can be used
to omit setting SKBTX_SHARED_FRAG.
Signed-off-by: John Fastabend
---
include/linux
list.
Currently, we use MAX_SKB_FRAGS simply because this was being used
already in the TLS case. Future work to improve the kernel sk APIs to
tune this depending on workload may be useful. This is a trade-off
between memory usage and B/s performance.
Signed-off-by: John Fastabend
---
include/li
Add map tests to attach BPF_PROG_TYPE_SK_MSG types to a sockmap.
Signed-off-by: John Fastabend
---
tools/include/uapi/linux/bpf.h | 16 ++
tools/testing/selftests/bpf/Makefile |3 +
tools/testing/selftests/bpf/bpf_helpers.h |2 +
tools
Test read and writes for BPF_PROG_TYPE_SK_MSG.
Signed-off-by: John Fastabend
---
tools/testing/selftests/bpf/test_verifier.c | 54 +++
1 file changed, 54 insertions(+)
diff --git a/tools/testing/selftests/bpf/test_verifier.c
b/tools/testing/selftests/bpf
On 01/12/2018 12:10 PM, Eric Dumazet wrote:
> On Fri, 2018-01-12 at 10:10 -0800, John Fastabend wrote:
>> When calling do_tcp_sendpages() from in kernel and we know the data
>> has no references from user side we can omit SKBTX_SHARED_FRAG flag.
>> This patch
On 01/12/2018 12:46 PM, Eric Dumazet wrote:
> On Fri, 2018-01-12 at 12:26 -0800, John Fastabend wrote:
>> On 01/12/2018 12:10 PM, Eric Dumazet wrote:
>>> On Fri, 2018-01-12 at 10:10 -0800, John Fastabend wrote:
>>>> When calling do_tcp_sendpages() from in kernel an
ED" state before setting the
> MAC address.
>
> Fixes: c26eba03e407 ("ibmvnic: Update reset infrastructure to support tunable
> parameters")
> Signed-off-by: Thomas Falcon
> ---
Reviewed-by: John Allen
> drivers/net/ethernet/ibm/ibmvnic.c | 13 +++-
ix pending MAC address changes" which is currently
submitted awaiting acceptance to the net tree.
John Allen (3):
ibmvnic: Modify buffer size on failover
ibmvnic: Revert to previous mtu when unsupported value requested
ibmvnic: Allocate and request vpd in init_resources
drivers/n
requirement, the vnic server will fail to post rx buffers due to
inadequate space in our rx pool. This patch fixes the issue by checking
whether or not the buffer size has changed on a reset and if it has,
reallocate the buffer.
Signed-off-by: John Allen
---
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c
tu to some completely different value most of the time. This patch
fixes the issue by logging in with the previously used mtu value and
printing an error message saying that the given mtu is unsupported.
Signed-off-by: John Allen
---
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c
b/driver
it will be symmetrically freed during release resources.
Signed-off-by: John Allen
---
diff --git a/drivers/net/ethernet/ibm/ibmvnic.c
b/drivers/net/ethernet/ibm/ibmvnic.c
index bb56460..f0dbb76 100644
--- a/drivers/net/ethernet/ibm/ibmvnic.c
+++ b/drivers/net/ethernet/ibm/ibmvnic.c
@@ -867,7
On 01/15/2018 03:11 PM, John Allen wrote:
> Using newer backing devices can cause the required padding at the end of
> rx buffers to change. Currently we assume that the size of buffers will
> never change, but in the case that we failover from a backing device with
> smaller padding
On 01/16/2018 06:25 PM, Alexei Starovoitov wrote:
> On Fri, Jan 12, 2018 at 10:11:11AM -0800, John Fastabend wrote:
>> This implements a BPF ULP layer to allow policy enforcement and
>> monitoring at the socket layer. In order to support this a new
>> program type BPF_PROG_T
On 01/16/2018 10:20 PM, Alexei Starovoitov wrote:
> On Tue, Jan 16, 2018 at 09:49:16PM -0800, John Fastabend wrote:
>>
>>> but this program will see only first SG ?
>>
>> Correct, to read further into the msg we would need to have a helper
>> or some other way
On 01/17/2018 02:04 PM, Martin KaFai Lau wrote:
> On Fri, Jan 12, 2018 at 10:11:11AM -0800, John Fastabend wrote:
>> This implements a BPF ULP layer to allow policy enforcement and
>> monitoring at the socket layer. In order to support this a new
>> program type BPF_PROG_TYPE_
variables to the adapter struct to track how
many rx/tx pools have actually been allocated and modify the release
pools routines to use these values rather than the possibly incorrect
req_rx/tx_queues values.
John Allen (3):
ibmvnic: Modify buffer size and number of queues on failover
ibmvnic
server, attempt to free long term buffers that are
no longer there, or not free long term buffers that should be freed.
This patch resolves the issue by checking whether any of these values
change, and if so perform the necessary re-allocations.
Signed-off-by: John Allen
---
v2: Added the line to
801 - 900 of 2085 matches
Mail list logo