Re: [PATCH v2 1/4] net: ethernet: ti: davinci_cpdma: split descs num between all channels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux