Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-14 Thread Eric Dumazet
On Mon, 2016-03-14 at 21:16 +0200, achiad shochat wrote: > I really do not see why the new scheme is more DOSable than the common > scheme of pre-allocating SKB using napi_alloc_skb(). Because sizeof(skb_shared_info) is big enough that if you allocate 128 bytes, you end up using 512 bytes or

Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-14 Thread Eric Dumazet
On Mon, 2016-03-14 at 21:16 +0200, achiad shochat wrote: > Eric, am I missing something here or the new scheme was not clear to > you previously? I simply do not want to see drivers using 1) SKB_TRUESIZE() or 2) skb->truesize = some_expression Drivers should not assume they know

Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-14 Thread Eric Dumazet
On Mon, 2016-03-14 at 20:16 +0200, Saeed Mahameed wrote: > we can do special accounting for ooo like issues in the stack (maybe > count page references and sum up page sizes as you suggest), device > drivers shouldn't have special handling/accounting to protect against > such cases. The existing

Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-14 Thread achiad shochat
On 14 March 2016 at 20:16, Saeed Mahameed wrote: > On Fri, Mar 11, 2016 at 9:58 PM, Eric Dumazet wrote: > >>> I totally agree with this, we should have reported skb->truesize += >>> (consumed strides)*(stride size). >>> but again this is not as

Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-14 Thread Saeed Mahameed
On Fri, Mar 11, 2016 at 9:58 PM, Eric Dumazet wrote: >> I totally agree with this, we should have reported skb->truesize += >> (consumed strides)*(stride size). >> but again this is not as critical as you think, in the worst case >> skb->truesize will be off by 127B at

Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-13 Thread achiad shochat
On 11 March 2016 at 21:58, Eric Dumazet wrote: > On ven., 2016-03-11 at 21:25 +0200, Saeed Mahameed wrote: >> >> -void mlx5e_handle_rx_cqe_mpwrq(struct mlx5e_rq *rq, struct mlx5_cqe64 >> >> *cqe) >> >> +static void mlx5e_add_skb_frag(struct sk_buff *skb, int len, struct

Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-11 Thread Eric Dumazet
On ven., 2016-03-11 at 21:25 +0200, Saeed Mahameed wrote: > >> -void mlx5e_handle_rx_cqe_mpwrq(struct mlx5e_rq *rq, struct mlx5_cqe64 > >> *cqe) > >> +static void mlx5e_add_skb_frag(struct sk_buff *skb, int len, struct page > >> *page, > >> +int page_offset) > >> +{ >

Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-11 Thread Saeed Mahameed
>> -void mlx5e_handle_rx_cqe_mpwrq(struct mlx5e_rq *rq, struct mlx5_cqe64 *cqe) >> +static void mlx5e_add_skb_frag(struct sk_buff *skb, int len, struct page >> *page, >> +int page_offset) >> +{ >> + int f = skb_shinfo(skb)->nr_frags++; >> + skb_frag_t *fr =

Re: [PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-11 Thread Eric Dumazet
On ven., 2016-03-11 at 15:39 +0200, Saeed Mahameed wrote: > From: Tariq Toukan > > If the allocation of a linear (physically continuous) MPWQE fails, > we allocate a fragmented MPWQE. > > This is implemented via device's UMR (User Memory Registration) > which allows to

[PATCH net-next 08/13] net/mlx5e: Add fragmented memory support for RX multi packet WQE

2016-03-11 Thread Saeed Mahameed
From: Tariq Toukan If the allocation of a linear (physically continuous) MPWQE fails, we allocate a fragmented MPWQE. This is implemented via device's UMR (User Memory Registration) which allows to register multiple memory fragments into ConnectX hardware as a continuous