lkml.org 
[lkml]   [2016]   [Aug]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2 1/4] net: ethernet: ti: davinci_cpdma: split descs num between all channels
From
Date


On 15.08.16 19:05, Yuval Mintz wrote:
>> Currently the tx channels share same pool of descriptors. Thus one channel can
>> block another if pool is emptied by one. But, the shaper should decide which
>> channel is allowed to send packets. To avoid such impact of one channel on
>> another, let every channel to have its own peace of pool.
> Piece.
Yep.

>
>> +/**
>> + * cpdma_chan_split_pool - Splits ctrl pool between all channels.
>> + * Has to be called under ctlr lock
>> + *
>> + */
> No need for the extra empty comment line.
Ok.

>
>> + /* calculate average size of pool slice */
>> + ch_desc_num = pool->num_desc / ctlr->chan_num;
>> +
>> + /* split ctlr pool */
>> + for (i = 0; i < ARRAY_SIZE(ctlr->channels); i++) {
>> + chan = ctlr->channels[i];
>> + if (chan)
>> + chan->desc_num = ch_desc_num;
> Is this 'if' needed? If there's some route where the channel can be NULL,
> You're splitting the value incorrectly.
If chan == NULL it's not active and pool->chan_num doesn't include it.
The descriptors are split between active channels only.

>

--
Regards,
Ivan Khoronzhuk

\
 
 \ /
  Last update: 2016-09-17 09:56    [W:0.049 / U:2.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site