Messages in this thread | | | Subject | Re: [PATCH v2 1/4] net: ethernet: ti: davinci_cpdma: split descs num between all channels | From | Ivan Khoronzhuk <> | Date | Mon, 15 Aug 2016 19:30:28 +0300 |
| |
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
| |