[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+sq2CcyOV3FbpUvSkX4ZhjC+fJuHk9cUpjdiJtkFNaEXOWu6Q@mail.gmail.com>
Date: Mon, 7 Mar 2016 22:53:05 +0530
From: Sunil Kovvuri <sunil.kovvuri@...il.com>
To: David Miller <davem@...emloft.net>
Cc: Linux Netdev List <netdev@...r.kernel.org>,
LKML <linux-kernel@...r.kernel.org>,
LAKML <linux-arm-kernel@...ts.infradead.org>,
Sunil Goutham <sgoutham@...ium.com>,
Robert Richter <robert.richter@...iumnetworks.com>
Subject: Re: [PATCH 1/2] net: thunderx: Set recevie buffer page usage count in bulk
On Mon, Mar 7, 2016 at 10:34 PM, David Miller <davem@...emloft.net> wrote:
> From: Sunil Kovvuri <sunil.kovvuri@...il.com>
> Date: Mon, 7 Mar 2016 22:28:39 +0530
>
>> Hi David,
>>
>>>> you create a window of time during which the consumer
>>>> can release the page and prematurely free it.
>> Okay, but here the consumer i.e HW is notified only after page count
>> is incremented.
>> For example if you check 'nicvf_refill_rbdr' fn() only after receive
>> buffer ring is
>> refilled with buffers, doorbell is issued to hardware to start using
>> the new buffers.
>>
>> So
>> @@ -241,6 +254,8 @@ refill:
>> new_rb++;
>> }
>>
>> + nicvf_get_page(nic);
>> +
>> calling 'nicvf_get_page' before issuing doorbell ensures page ref
>> count is properly
>> set before hw/consumer can use the buffers.
>
> So if you know ahead of time how the page will be split up, just
> calculate that when you get the page and increment the page count
> appropriately.
>
> That's what we do in the NIU driver.
Thanks for the suggestion, will check and get back.
Regards,
Sunil.
Powered by blists - more mailing lists