lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Mon, 15 Aug 2016 19:30:28 +0300
From:	Ivan Khoronzhuk <ivan.khoronzhuk@...aro.org>
To:	Yuval Mintz <Yuval.Mintz@...gic.com>,
	David Miller <davem@...emloft.net>,
	netdev <netdev@...r.kernel.org>,
	"mugunthanvnm@...com" <mugunthanvnm@...com>,
	"grygorii.strashko@...com" <grygorii.strashko@...com>
Cc:	linux-kernel <linux-kernel@...r.kernel.org>,
	"linux-omap@...r.kernel.org" <linux-omap@...r.kernel.org>,
	"nsekhar@...com" <nsekhar@...com>
Subject: Re: [PATCH v2 1/4] net: ethernet: ti: davinci_cpdma: split descs num
 between all channels



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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ