Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1282454 > unrolled thread
| Started by | Scott Wood <scottwood@freescale.com> |
|---|---|
| First post | 2015-12-02 23:00 +0100 |
| Last post | 2015-12-03 11:10 +0100 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [net-next v4 4/8] dpaa_eth: add driver's Tx queue selection Scott Wood <scottwood@freescale.com> - 2015-12-02 23:00 +0100
RE: [net-next v4 4/8] dpaa_eth: add driver's Tx queue selection Madalin-Cristian Bucur <madalin.bucur@freescale.com> - 2015-12-03 11:10 +0100
| From | Scott Wood <scottwood@freescale.com> |
|---|---|
| Date | 2015-12-02 23:00 +0100 |
| Subject | Re: [net-next v4 4/8] dpaa_eth: add driver's Tx queue selection |
| Message-ID | <qBnBp-4pb-17@gated-at.bofh.it> |
On Mon, 2015-11-02 at 19:31 +0200, Madalin Bucur wrote:
> Allow the selection of the transmission queue based on the CPU id.
Explain why.
>
> Signed-off-by: Madalin Bucur <madalin.bucur@freescale.com>
> ---
> drivers/net/ethernet/freescale/dpaa/Kconfig | 10 ++++++++++
> drivers/net/ethernet/freescale/dpaa/dpaa_eth.c | 3 +++
> drivers/net/ethernet/freescale/dpaa/dpaa_eth.h | 6 ++++++
> drivers/net/ethernet/freescale/dpaa/dpaa_eth_common.c | 8 ++++++++
> drivers/net/ethernet/freescale/dpaa/dpaa_eth_common.h | 4 ++++
> 5 files changed, 31 insertions(+)
>
> diff --git a/drivers/net/ethernet/freescale/dpaa/Kconfig
> b/drivers/net/ethernet/freescale/dpaa/Kconfig
> index 022d5aa..2577aac 100644
> --- a/drivers/net/ethernet/freescale/dpaa/Kconfig
> +++ b/drivers/net/ethernet/freescale/dpaa/Kconfig
> @@ -11,6 +11,16 @@ menuconfig FSL_DPAA_ETH
>
> if FSL_DPAA_ETH
>
> +config FSL_DPAA_ETH_USE_NDO_SELECT_QUEUE
> + bool "Use driver's Tx queue selection mechanism"
> + default y
> + ---help---
> + The DPAA Ethernet driver defines a ndo_select_queue() callback
> for optimal selection
> + of the egress FQ. That will override the XPS support for this
> netdevice.
> + If for whatever reason you want to be in control of the egress FQ
> -to-CPU selection and mapping,
> + or simply don't want to use the driver's ndo_select_queue()
> callback, then unselect this
> + and use the standard XPS support instead.
Is there a use case for needing this to be configurable?
> diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> index 31d55b4..894f1a7 100644
> --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.c
> @@ -390,6 +390,9 @@ static const struct net_device_ops dpa_private_ops = {
> .ndo_get_stats64 = dpa_get_stats64,
> .ndo_set_mac_address = dpa_set_mac_address,
> .ndo_validate_addr = eth_validate_addr,
> +#ifdef CONFIG_FSL_DPAA_ETH_USE_NDO_SELECT_QUEUE
> + .ndo_select_queue = dpa_select_queue,
> +#endif
> .ndo_change_mtu = dpa_change_mtu,
> .ndo_set_rx_mode = dpa_set_rx_mode,
> .ndo_init = dpa_ndo_init,
> diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.h
> b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.h
> index 1ba6617..87577cf 100644
> --- a/drivers/net/ethernet/freescale/dpaa/dpaa_eth.h
> +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_eth.h
> @@ -420,9 +420,15 @@ static inline void _dpa_assign_wq(struct dpa_fq *fq)
> }
> }
>
> +#ifdef CONFIG_FSL_DPAA_ETH_USE_NDO_SELECT_QUEUE
> +/* Use in lieu of skb_get_queue_mapping() */
> +#define dpa_get_queue_mapping(skb) \
> + raw_smp_processor_id()
> +#else
> /* Use the queue selected by XPS */
> #define dpa_get_queue_mapping(skb) \
> skb_get_queue_mapping(skb)
> +#endif
Why is this necessary? Shouldn't providing a custom .ndo_select_queue() be
sufficient to ensure that skb_get_queue_mapping() returns the same thing?
And if this goes away, it's just a matter of a function pointer, so if it does
need to be configurable it could be a runtime option.
-Scott
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Madalin-Cristian Bucur <madalin.bucur@freescale.com> |
|---|---|
| Date | 2015-12-03 11:10 +0100 |
| Message-ID | <qByZQ-3zg-27@gated-at.bofh.it> |
| In reply to | #1282454 |
PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBXb29kIFNjb3R0LUIwNzQyMQ0K PiBTZW50OiBXZWRuZXNkYXksIERlY2VtYmVyIDAyLCAyMDE1IDExOjQxIFBNDQo+IA0KPiBPbiBN b24sIDIwMTUtMTEtMDIgYXQgMTk6MzEgKzAyMDAsIE1hZGFsaW4gQnVjdXIgd3JvdGU6DQo+ID4g QWxsb3cgdGhlIHNlbGVjdGlvbiBvZiB0aGUgdHJhbnNtaXNzaW9uIHF1ZXVlIGJhc2VkIG9uIHRo ZSBDUFUgaWQuDQo+IA0KPiBFeHBsYWluIHdoeS4NCg0KSSdsbCBhZGQgbW9yZSBkZXRhaWxzIGlu IHRoZSBjb21taXQgbG9nLiBUaGlzIGlzIGEgY3VzdG9tZXIgZ2VuZXJhdGVkDQpmZWF0dXJlLiBC eXBhc3NpbmcgdGhlIHN0YW5kYXJkIFhQUyBjYW4gaW5jcmVhc2UgcGVyZm9ybWFuY2UgYnkgbWFr aW5nIHVzZQ0Kb2YgdGhlIERQQUEgSFcgcGFydGljdWxhcml0aWVzLg0KDQo+ID4NCj4gPiBTaWdu ZWQtb2ZmLWJ5OiBNYWRhbGluIEJ1Y3VyIDxtYWRhbGluLmJ1Y3VyQGZyZWVzY2FsZS5jb20+DQo+ ID4gLS0tDQo+ID4gIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhL0tjb25maWcg ICAgICAgICAgIHwgMTAgKysrKysrKysrKw0KPiA+ICBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVl c2NhbGUvZHBhYS9kcGFhX2V0aC5jICAgICAgICB8ICAzICsrKw0KPiA+ICBkcml2ZXJzL25ldC9l dGhlcm5ldC9mcmVlc2NhbGUvZHBhYS9kcGFhX2V0aC5oICAgICAgICB8ICA2ICsrKysrKw0KPiA+ ICBkcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYS9kcGFhX2V0aF9jb21tb24uYyB8 ICA4ICsrKysrKysrDQo+ID4gIGRyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhL2Rw YWFfZXRoX2NvbW1vbi5oIHwgIDQgKysrKw0KPiA+ICA1IGZpbGVzIGNoYW5nZWQsIDMxIGluc2Vy dGlvbnMoKykNCj4gPg0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVl c2NhbGUvZHBhYS9LY29uZmlnDQo+ID4gYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUv ZHBhYS9LY29uZmlnDQo+ID4gaW5kZXggMDIyZDVhYS4uMjU3N2FhYyAxMDA2NDQNCj4gPiAtLS0g YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9mcmVlc2NhbGUvZHBhYS9LY29uZmlnDQo+ID4gKysrIGIv ZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvS2NvbmZpZw0KPiA+IEBAIC0xMSw2 ICsxMSwxNiBAQCBtZW51Y29uZmlnIEZTTF9EUEFBX0VUSA0KPiA+DQo+ID4gIGlmIEZTTF9EUEFB X0VUSA0KPiA+DQo+ID4gK2NvbmZpZyBGU0xfRFBBQV9FVEhfVVNFX05ET19TRUxFQ1RfUVVFVUUN Cj4gPiArCWJvb2wgIlVzZSBkcml2ZXIncyBUeCBxdWV1ZSBzZWxlY3Rpb24gbWVjaGFuaXNtIg0K PiA+ICsJZGVmYXVsdCB5DQo+ID4gKwktLS1oZWxwLS0tDQo+ID4gKwkgIFRoZSBEUEFBIEV0aGVy bmV0IGRyaXZlciBkZWZpbmVzIGEgbmRvX3NlbGVjdF9xdWV1ZSgpIGNhbGxiYWNrDQo+ID4gZm9y IG9wdGltYWwgc2VsZWN0aW9uDQo+ID4gKwkgIG9mIHRoZSBlZ3Jlc3MgRlEuIFRoYXQgd2lsbCBv dmVycmlkZSB0aGUgWFBTIHN1cHBvcnQgZm9yIHRoaXMNCj4gPiBuZXRkZXZpY2UuDQo+ID4gKwkg IElmIGZvciB3aGF0ZXZlciByZWFzb24geW91IHdhbnQgdG8gYmUgaW4gY29udHJvbCBvZiB0aGUg ZWdyZXNzIEZRDQo+ID4gLXRvLUNQVSBzZWxlY3Rpb24gYW5kIG1hcHBpbmcsDQo+ID4gKwkgIG9y IHNpbXBseSBkb24ndCB3YW50IHRvIHVzZSB0aGUgZHJpdmVyJ3MgbmRvX3NlbGVjdF9xdWV1ZSgp DQo+ID4gY2FsbGJhY2ssIHRoZW4gdW5zZWxlY3QgdGhpcw0KPiA+ICsJICBhbmQgdXNlIHRoZSBz dGFuZGFyZCBYUFMgc3VwcG9ydCBpbnN0ZWFkLg0KPiANCj4gSXMgdGhlcmUgYSB1c2UgY2FzZSBm b3IgbmVlZGluZyB0aGlzIHRvIGJlIGNvbmZpZ3VyYWJsZT8NCg0KSWYgdGhlIHN0YW5kYXJkIFhQ UyBpcyBkZXNpcmVkLCB0aGUgS2NvbmZpZyBvcHRpb24gYWxsb3dzIHRoZSBkcml2ZXIgdXNlciB0 bw0Kc2VsZWN0IHRoYXQuDQoNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv ZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGguYw0KPiA+IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJl ZXNjYWxlL2RwYWEvZHBhYV9ldGguYw0KPiA+IGluZGV4IDMxZDU1YjQuLjg5NGYxYTcgMTAwNjQ0 DQo+ID4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGgu Yw0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhL2RwYWFfZXRo LmMNCj4gPiBAQCAtMzkwLDYgKzM5MCw5IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbmV0X2Rldmlj ZV9vcHMgZHBhX3ByaXZhdGVfb3BzID0NCj4gew0KPiA+ICAJLm5kb19nZXRfc3RhdHM2NCA9IGRw YV9nZXRfc3RhdHM2NCwNCj4gPiAgCS5uZG9fc2V0X21hY19hZGRyZXNzID0gZHBhX3NldF9tYWNf YWRkcmVzcywNCj4gPiAgCS5uZG9fdmFsaWRhdGVfYWRkciA9IGV0aF92YWxpZGF0ZV9hZGRyLA0K PiA+ICsjaWZkZWYgQ09ORklHX0ZTTF9EUEFBX0VUSF9VU0VfTkRPX1NFTEVDVF9RVUVVRQ0KPiA+ ICsJLm5kb19zZWxlY3RfcXVldWUgPSBkcGFfc2VsZWN0X3F1ZXVlLA0KPiA+ICsjZW5kaWYNCj4g PiAgCS5uZG9fY2hhbmdlX210dSA9IGRwYV9jaGFuZ2VfbXR1LA0KPiA+ICAJLm5kb19zZXRfcnhf bW9kZSA9IGRwYV9zZXRfcnhfbW9kZSwNCj4gPiAgCS5uZG9faW5pdCA9IGRwYV9uZG9faW5pdCwN Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvZHBh YV9ldGguaA0KPiA+IGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvZHBhYV9l dGguaA0KPiA+IGluZGV4IDFiYTY2MTcuLjg3NTc3Y2YgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVy cy9uZXQvZXRoZXJuZXQvZnJlZXNjYWxlL2RwYWEvZHBhYV9ldGguaA0KPiA+ICsrKyBiL2RyaXZl cnMvbmV0L2V0aGVybmV0L2ZyZWVzY2FsZS9kcGFhL2RwYWFfZXRoLmgNCj4gPiBAQCAtNDIwLDkg KzQyMCwxNSBAQCBzdGF0aWMgaW5saW5lIHZvaWQgX2RwYV9hc3NpZ25fd3Eoc3RydWN0IGRwYV9m cQ0KPiAqZnEpDQo+ID4gIAl9DQo+ID4gIH0NCj4gPg0KPiA+ICsjaWZkZWYgQ09ORklHX0ZTTF9E UEFBX0VUSF9VU0VfTkRPX1NFTEVDVF9RVUVVRQ0KPiA+ICsvKiBVc2UgaW4gbGlldSBvZiBza2Jf Z2V0X3F1ZXVlX21hcHBpbmcoKSAqLw0KPiA+ICsjZGVmaW5lIGRwYV9nZXRfcXVldWVfbWFwcGlu Zyhza2IpIFwNCj4gPiArCXJhd19zbXBfcHJvY2Vzc29yX2lkKCkNCj4gPiArI2Vsc2UNCj4gPiAg LyogVXNlIHRoZSBxdWV1ZSBzZWxlY3RlZCBieSBYUFMgKi8NCj4gPiAgI2RlZmluZSBkcGFfZ2V0 X3F1ZXVlX21hcHBpbmcoc2tiKSBcDQo+ID4gIAlza2JfZ2V0X3F1ZXVlX21hcHBpbmcoc2tiKQ0K PiA+ICsjZW5kaWYNCj4gDQo+IFdoeSBpcyB0aGlzIG5lY2Vzc2FyeT8gIFNob3VsZG4ndCBwcm92 aWRpbmcgYSBjdXN0b20gLm5kb19zZWxlY3RfcXVldWUoKQ0KPiBiZQ0KPiBzdWZmaWNpZW50IHRv IGVuc3VyZSB0aGF0IHNrYl9nZXRfcXVldWVfbWFwcGluZygpIHJldHVybnMgdGhlIHNhbWUgdGhp bmc/DQoNCmRwYV9nZXRfcXVldWVfbWFwcGluZygpIGlzIHVzZWQgaW4gbW9yZSB0aGFuIG9uZSBw bGFjZSwgdGhlIG5kbyBmdW5jdGlvbiBjYW5ub3QNCmJlIHVzZWQgZGlyZWN0bHkgaW4gYWxsIHBs YWNlcywgdGhlIGN1cnJlbnQgc2V0dXAgaXMganVzdGlmaWVkLg0KDQo+IEFuZCBpZiB0aGlzIGdv ZXMgYXdheSwgaXQncyBqdXN0IGEgbWF0dGVyIG9mIGEgZnVuY3Rpb24gcG9pbnRlciwgc28gaWYg aXQNCj4gZG9lcw0KPiBuZWVkIHRvIGJlIGNvbmZpZ3VyYWJsZSBpdCBjb3VsZCBiZSBhIHJ1bnRp bWUgb3B0aW9uLg0KPiANCj4gLVNjb3R0DQoNCkl0J3MgdXNlZCBvbiB0aGUgaG90IHBhdGgsIGFk ZGluZyBhbiBleHRyYSBpbmRpcmVjdGlvbiBsYXllciB0byBtYWtlIGl0IHNlbGVjdGFibGUNCmF0 IHJ1bnRpbWUgd291bGQgZGVmZWF0IHRoZSBwdXJwb3NlLi4uDQoNCk1hZGFsaW4NCg== -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web