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
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
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
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
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
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
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)
> >> +{
>
>> -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 =
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
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
10 matches
Mail list logo