mbox series

[SRU,Xenial/gcp,0/11] Enable napi_tx

Message ID 20190919092353.29993-1-khalid.elmously@canonical.com
Headers show
Series Enable napi_tx | expand

Message

Khalid Elmously Sept. 19, 2019, 9:23 a.m. UTC
BugLink: https://bugs.launchpad.net/bugs/1810457

This feature has been requested and these changes (except for the final commit) were tested by
the cloud provider.

All but the final patch were backported by Marcelo - I only prepped the kernel for the cloud
provider to test and also cherry-picked the last patch which was also requested. The final patch
wasn't part of their testing but it was also requested and looks safe enough to me as it
only adds new functions and function pointers.

More information in the associated SalesForce ticket:
https://canonical.my.salesforce.com/5003z00001yVDYB



Amritha Nambiar (3):
  net: Refactor XPS for CPUs and Rx queues
  net: Use static_key for XPS maps
  net-sysfs: Add interface for Rx queue(s) map per Tx queue

Andrei Vagin (1):
  net: allow to call netif_reset_xps_queues() under cpus_read_lock

Caleb Raitto (2):
  virtio: Make vp_set_vq_affinity() take a mask.
  virtio_net: Stripe queue affinities across cores.

Clement Courbet (1):
  lib: optimize cpumask_next_and()

Jason Wang (1):
  virtio_net: ethtool tx napi configuration

Willem de Bruijn (3):
  cpumask: make cpumask_next_wrap available without smp
  virtio-net: per-queue RPS config
  virtio_net: enable napi_tx by default

 arch/arm/include/asm/bitops.h              |   1 +
 arch/m68k/include/asm/bitops.h             |   3 +-
 arch/unicore32/include/asm/bitops.h        |   2 +
 drivers/crypto/virtio/virtio_crypto_core.c |   4 +-
 drivers/net/virtio_net.c                   |  98 +++++++--
 drivers/virtio/virtio_pci_common.c         |   7 +-
 drivers/virtio/virtio_pci_common.h         |   2 +-
 include/asm-generic/bitops/find.h          |  20 ++
 include/linux/bitmap.h                     |   6 +-
 include/linux/cpumask.h                    |  18 +-
 include/linux/netdevice.h                  |  98 ++++++++-
 include/linux/virtio_config.h              |   7 +-
 lib/cpumask.c                              |   9 +-
 lib/find_bit.c                             |  59 +++--
 lib/test_find_bit.c                        |  25 ++-
 net/core/dev.c                             | 240 ++++++++++++++-------
 net/core/net-sysfs.c                       |  91 +++++++-
 tools/include/asm-generic/bitops/find.h    |  16 ++
 tools/lib/find_bit.c                       |  39 +++-
 19 files changed, 605 insertions(+), 140 deletions(-)

Comments

Sultan Alsawaf Sept. 19, 2019, 11:28 a.m. UTC | #1
On Thu, Sep 19, 2019 at 05:23:42AM -0400, Khalid Elmously wrote:
> BugLink: https://bugs.launchpad.net/bugs/1810457
> 
> This feature has been requested and these changes (except for the final commit) were tested by
> the cloud provider.
> 
> All but the final patch were backported by Marcelo - I only prepped the kernel for the cloud
> provider to test and also cherry-picked the last patch which was also requested. The final patch
> wasn't part of their testing but it was also requested and looks safe enough to me as it
> only adds new functions and function pointers.
> 
> More information in the associated SalesForce ticket:
> https://canonical.my.salesforce.com/5003z00001yVDYB
> 
> 
> 
> Amritha Nambiar (3):
>   net: Refactor XPS for CPUs and Rx queues
>   net: Use static_key for XPS maps
>   net-sysfs: Add interface for Rx queue(s) map per Tx queue
> 
> Andrei Vagin (1):
>   net: allow to call netif_reset_xps_queues() under cpus_read_lock
> 
> Caleb Raitto (2):
>   virtio: Make vp_set_vq_affinity() take a mask.
>   virtio_net: Stripe queue affinities across cores.
> 
> Clement Courbet (1):
>   lib: optimize cpumask_next_and()
> 
> Jason Wang (1):
>   virtio_net: ethtool tx napi configuration
> 
> Willem de Bruijn (3):
>   cpumask: make cpumask_next_wrap available without smp
>   virtio-net: per-queue RPS config
>   virtio_net: enable napi_tx by default
> 
>  arch/arm/include/asm/bitops.h              |   1 +
>  arch/m68k/include/asm/bitops.h             |   3 +-
>  arch/unicore32/include/asm/bitops.h        |   2 +
>  drivers/crypto/virtio/virtio_crypto_core.c |   4 +-
>  drivers/net/virtio_net.c                   |  98 +++++++--
>  drivers/virtio/virtio_pci_common.c         |   7 +-
>  drivers/virtio/virtio_pci_common.h         |   2 +-
>  include/asm-generic/bitops/find.h          |  20 ++
>  include/linux/bitmap.h                     |   6 +-
>  include/linux/cpumask.h                    |  18 +-
>  include/linux/netdevice.h                  |  98 ++++++++-
>  include/linux/virtio_config.h              |   7 +-
>  lib/cpumask.c                              |   9 +-
>  lib/find_bit.c                             |  59 +++--
>  lib/test_find_bit.c                        |  25 ++-
>  net/core/dev.c                             | 240 ++++++++++++++-------
>  net/core/net-sysfs.c                       |  91 +++++++-
>  tools/include/asm-generic/bitops/find.h    |  16 ++
>  tools/lib/find_bit.c                       |  39 +++-
>  19 files changed, 605 insertions(+), 140 deletions(-)
> 
> -- 
> 2.17.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team

Acked-by: Sultan Alsawaf <sultan.alsawaf@canonical.com>
Khalid Elmously Sept. 19, 2019, 11:56 a.m. UTC | #2
I put a bad BugLink in these patches. The actual bug is https://bugs.launchpad.net/ubuntu/+source/linux-gcp/+bug/1834681

I will update that link at time of applying

Thanks


On 2019-09-19 05:23:42 , Khalid Elmously wrote:
> BugLink: https://bugs.launchpad.net/bugs/1810457
> 
> This feature has been requested and these changes (except for the final commit) were tested by
> the cloud provider.
> 
> All but the final patch were backported by Marcelo - I only prepped the kernel for the cloud
> provider to test and also cherry-picked the last patch which was also requested. The final patch
> wasn't part of their testing but it was also requested and looks safe enough to me as it
> only adds new functions and function pointers.
> 
> More information in the associated SalesForce ticket:
> https://canonical.my.salesforce.com/5003z00001yVDYB
> 
> 
> 
> Amritha Nambiar (3):
>   net: Refactor XPS for CPUs and Rx queues
>   net: Use static_key for XPS maps
>   net-sysfs: Add interface for Rx queue(s) map per Tx queue
> 
> Andrei Vagin (1):
>   net: allow to call netif_reset_xps_queues() under cpus_read_lock
> 
> Caleb Raitto (2):
>   virtio: Make vp_set_vq_affinity() take a mask.
>   virtio_net: Stripe queue affinities across cores.
> 
> Clement Courbet (1):
>   lib: optimize cpumask_next_and()
> 
> Jason Wang (1):
>   virtio_net: ethtool tx napi configuration
> 
> Willem de Bruijn (3):
>   cpumask: make cpumask_next_wrap available without smp
>   virtio-net: per-queue RPS config
>   virtio_net: enable napi_tx by default
> 
>  arch/arm/include/asm/bitops.h              |   1 +
>  arch/m68k/include/asm/bitops.h             |   3 +-
>  arch/unicore32/include/asm/bitops.h        |   2 +
>  drivers/crypto/virtio/virtio_crypto_core.c |   4 +-
>  drivers/net/virtio_net.c                   |  98 +++++++--
>  drivers/virtio/virtio_pci_common.c         |   7 +-
>  drivers/virtio/virtio_pci_common.h         |   2 +-
>  include/asm-generic/bitops/find.h          |  20 ++
>  include/linux/bitmap.h                     |   6 +-
>  include/linux/cpumask.h                    |  18 +-
>  include/linux/netdevice.h                  |  98 ++++++++-
>  include/linux/virtio_config.h              |   7 +-
>  lib/cpumask.c                              |   9 +-
>  lib/find_bit.c                             |  59 +++--
>  lib/test_find_bit.c                        |  25 ++-
>  net/core/dev.c                             | 240 ++++++++++++++-------
>  net/core/net-sysfs.c                       |  91 +++++++-
>  tools/include/asm-generic/bitops/find.h    |  16 ++
>  tools/lib/find_bit.c                       |  39 +++-
>  19 files changed, 605 insertions(+), 140 deletions(-)
> 
> -- 
> 2.17.1
>
Khalid Elmously Sept. 19, 2019, 12:08 p.m. UTC | #3
This exact patchset is needed in bionic/gke as wel. I have compiled and boot-tested these patches on bionic/gke.

ACKers: Please confirm if your ACK extends to bionic/gke as well.

Thanks



On 2019-09-19 05:23:42 , Khalid Elmously wrote:
> BugLink: https://bugs.launchpad.net/bugs/1810457
> 
> This feature has been requested and these changes (except for the final commit) were tested by
> the cloud provider.
> 
> All but the final patch were backported by Marcelo - I only prepped the kernel for the cloud
> provider to test and also cherry-picked the last patch which was also requested. The final patch
> wasn't part of their testing but it was also requested and looks safe enough to me as it
> only adds new functions and function pointers.
> 
> More information in the associated SalesForce ticket:
> https://canonical.my.salesforce.com/5003z00001yVDYB
> 
> 
> 
> Amritha Nambiar (3):
>   net: Refactor XPS for CPUs and Rx queues
>   net: Use static_key for XPS maps
>   net-sysfs: Add interface for Rx queue(s) map per Tx queue
> 
> Andrei Vagin (1):
>   net: allow to call netif_reset_xps_queues() under cpus_read_lock
> 
> Caleb Raitto (2):
>   virtio: Make vp_set_vq_affinity() take a mask.
>   virtio_net: Stripe queue affinities across cores.
> 
> Clement Courbet (1):
>   lib: optimize cpumask_next_and()
> 
> Jason Wang (1):
>   virtio_net: ethtool tx napi configuration
> 
> Willem de Bruijn (3):
>   cpumask: make cpumask_next_wrap available without smp
>   virtio-net: per-queue RPS config
>   virtio_net: enable napi_tx by default
> 
>  arch/arm/include/asm/bitops.h              |   1 +
>  arch/m68k/include/asm/bitops.h             |   3 +-
>  arch/unicore32/include/asm/bitops.h        |   2 +
>  drivers/crypto/virtio/virtio_crypto_core.c |   4 +-
>  drivers/net/virtio_net.c                   |  98 +++++++--
>  drivers/virtio/virtio_pci_common.c         |   7 +-
>  drivers/virtio/virtio_pci_common.h         |   2 +-
>  include/asm-generic/bitops/find.h          |  20 ++
>  include/linux/bitmap.h                     |   6 +-
>  include/linux/cpumask.h                    |  18 +-
>  include/linux/netdevice.h                  |  98 ++++++++-
>  include/linux/virtio_config.h              |   7 +-
>  lib/cpumask.c                              |   9 +-
>  lib/find_bit.c                             |  59 +++--
>  lib/test_find_bit.c                        |  25 ++-
>  net/core/dev.c                             | 240 ++++++++++++++-------
>  net/core/net-sysfs.c                       |  91 +++++++-
>  tools/include/asm-generic/bitops/find.h    |  16 ++
>  tools/lib/find_bit.c                       |  39 +++-
>  19 files changed, 605 insertions(+), 140 deletions(-)
> 
> -- 
> 2.17.1
>
Kleber Sacilotto de Souza Sept. 19, 2019, 12:17 p.m. UTC | #4
On 19.09.19 11:23, Khalid Elmously wrote:
> BugLink: https://bugs.launchpad.net/bugs/1810457

Please note that the correct bug number needs to be added
in the format: 

BugLink: https://bugs.launchpad.net/bugs/1834681

and that this bug needs to have the nominations adjusted.

These changes touches code from other architectures as well, but they
seem to be real dependencies and not really compiled for this cloud kernel.
The changes have been also extensively tested.

So as requested, I'm ACK'ing these patches for xenial/linux-gcp and
bionic/linux-gke-4.15:

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

> 
> This feature has been requested and these changes (except for the final commit) were tested by
> the cloud provider.
> 
> All but the final patch were backported by Marcelo - I only prepped the kernel for the cloud
> provider to test and also cherry-picked the last patch which was also requested. The final patch
> wasn't part of their testing but it was also requested and looks safe enough to me as it
> only adds new functions and function pointers.
> 
> More information in the associated SalesForce ticket:
> https://canonical.my.salesforce.com/5003z00001yVDYB
> 
> 
> 
> Amritha Nambiar (3):
>   net: Refactor XPS for CPUs and Rx queues
>   net: Use static_key for XPS maps
>   net-sysfs: Add interface for Rx queue(s) map per Tx queue
> 
> Andrei Vagin (1):
>   net: allow to call netif_reset_xps_queues() under cpus_read_lock
> 
> Caleb Raitto (2):
>   virtio: Make vp_set_vq_affinity() take a mask.
>   virtio_net: Stripe queue affinities across cores.
> 
> Clement Courbet (1):
>   lib: optimize cpumask_next_and()
> 
> Jason Wang (1):
>   virtio_net: ethtool tx napi configuration
> 
> Willem de Bruijn (3):
>   cpumask: make cpumask_next_wrap available without smp
>   virtio-net: per-queue RPS config
>   virtio_net: enable napi_tx by default
> 
>  arch/arm/include/asm/bitops.h              |   1 +
>  arch/m68k/include/asm/bitops.h             |   3 +-
>  arch/unicore32/include/asm/bitops.h        |   2 +
>  drivers/crypto/virtio/virtio_crypto_core.c |   4 +-
>  drivers/net/virtio_net.c                   |  98 +++++++--
>  drivers/virtio/virtio_pci_common.c         |   7 +-
>  drivers/virtio/virtio_pci_common.h         |   2 +-
>  include/asm-generic/bitops/find.h          |  20 ++
>  include/linux/bitmap.h                     |   6 +-
>  include/linux/cpumask.h                    |  18 +-
>  include/linux/netdevice.h                  |  98 ++++++++-
>  include/linux/virtio_config.h              |   7 +-
>  lib/cpumask.c                              |   9 +-
>  lib/find_bit.c                             |  59 +++--
>  lib/test_find_bit.c                        |  25 ++-
>  net/core/dev.c                             | 240 ++++++++++++++-------
>  net/core/net-sysfs.c                       |  91 +++++++-
>  tools/include/asm-generic/bitops/find.h    |  16 ++
>  tools/lib/find_bit.c                       |  39 +++-
>  19 files changed, 605 insertions(+), 140 deletions(-)
>
Sultan Alsawaf Sept. 19, 2019, 12:54 p.m. UTC | #5
On Thu, Sep 19, 2019 at 08:08:40AM -0400, Khalid Elmously wrote:
> ACKers: Please confirm if your ACK extends to bionic/gke as well.

It does.
Khalid Elmously Sept. 19, 2019, 2:32 p.m. UTC | #6
Applied to Bionic/gke-4.15 and Xenial/gcp - thanks for the ACKs



On 2019-09-19 05:23:42 , Khalid Elmously wrote:
> BugLink: https://bugs.launchpad.net/bugs/1810457
> 
> This feature has been requested and these changes (except for the final commit) were tested by
> the cloud provider.
> 
> All but the final patch were backported by Marcelo - I only prepped the kernel for the cloud
> provider to test and also cherry-picked the last patch which was also requested. The final patch
> wasn't part of their testing but it was also requested and looks safe enough to me as it
> only adds new functions and function pointers.
> 
> More information in the associated SalesForce ticket:
> https://canonical.my.salesforce.com/5003z00001yVDYB
> 
> 
> 
> Amritha Nambiar (3):
>   net: Refactor XPS for CPUs and Rx queues
>   net: Use static_key for XPS maps
>   net-sysfs: Add interface for Rx queue(s) map per Tx queue
> 
> Andrei Vagin (1):
>   net: allow to call netif_reset_xps_queues() under cpus_read_lock
> 
> Caleb Raitto (2):
>   virtio: Make vp_set_vq_affinity() take a mask.
>   virtio_net: Stripe queue affinities across cores.
> 
> Clement Courbet (1):
>   lib: optimize cpumask_next_and()
> 
> Jason Wang (1):
>   virtio_net: ethtool tx napi configuration
> 
> Willem de Bruijn (3):
>   cpumask: make cpumask_next_wrap available without smp
>   virtio-net: per-queue RPS config
>   virtio_net: enable napi_tx by default
> 
>  arch/arm/include/asm/bitops.h              |   1 +
>  arch/m68k/include/asm/bitops.h             |   3 +-
>  arch/unicore32/include/asm/bitops.h        |   2 +
>  drivers/crypto/virtio/virtio_crypto_core.c |   4 +-
>  drivers/net/virtio_net.c                   |  98 +++++++--
>  drivers/virtio/virtio_pci_common.c         |   7 +-
>  drivers/virtio/virtio_pci_common.h         |   2 +-
>  include/asm-generic/bitops/find.h          |  20 ++
>  include/linux/bitmap.h                     |   6 +-
>  include/linux/cpumask.h                    |  18 +-
>  include/linux/netdevice.h                  |  98 ++++++++-
>  include/linux/virtio_config.h              |   7 +-
>  lib/cpumask.c                              |   9 +-
>  lib/find_bit.c                             |  59 +++--
>  lib/test_find_bit.c                        |  25 ++-
>  net/core/dev.c                             | 240 ++++++++++++++-------
>  net/core/net-sysfs.c                       |  91 +++++++-
>  tools/include/asm-generic/bitops/find.h    |  16 ++
>  tools/lib/find_bit.c                       |  39 +++-
>  19 files changed, 605 insertions(+), 140 deletions(-)
> 
> -- 
> 2.17.1
>
Kleber Sacilotto de Souza Sept. 23, 2019, 3:44 p.m. UTC | #7
On 19.09.19 16:32, Khalid Elmously wrote:
> Applied to Bionic/gke-4.15 and Xenial/gcp - thanks for the ACKs
> 
> 
> 
> On 2019-09-19 05:23:42 , Khalid Elmously wrote:
>> BugLink: https://bugs.launchpad.net/bugs/1810457

Hi Khalid,

FYI: the BugLink was *not* fixed on the patches applied to
xenial/linux-gcp.


Kleber

>>
>> This feature has been requested and these changes (except for the final commit) were tested by
>> the cloud provider.
>>
>> All but the final patch were backported by Marcelo - I only prepped the kernel for the cloud
>> provider to test and also cherry-picked the last patch which was also requested. The final patch
>> wasn't part of their testing but it was also requested and looks safe enough to me as it
>> only adds new functions and function pointers.
>>
>> More information in the associated SalesForce ticket:
>> https://canonical.my.salesforce.com/5003z00001yVDYB
>>
>>
>>
>> Amritha Nambiar (3):
>>   net: Refactor XPS for CPUs and Rx queues
>>   net: Use static_key for XPS maps
>>   net-sysfs: Add interface for Rx queue(s) map per Tx queue
>>
>> Andrei Vagin (1):
>>   net: allow to call netif_reset_xps_queues() under cpus_read_lock
>>
>> Caleb Raitto (2):
>>   virtio: Make vp_set_vq_affinity() take a mask.
>>   virtio_net: Stripe queue affinities across cores.
>>
>> Clement Courbet (1):
>>   lib: optimize cpumask_next_and()
>>
>> Jason Wang (1):
>>   virtio_net: ethtool tx napi configuration
>>
>> Willem de Bruijn (3):
>>   cpumask: make cpumask_next_wrap available without smp
>>   virtio-net: per-queue RPS config
>>   virtio_net: enable napi_tx by default
>>
>>  arch/arm/include/asm/bitops.h              |   1 +
>>  arch/m68k/include/asm/bitops.h             |   3 +-
>>  arch/unicore32/include/asm/bitops.h        |   2 +
>>  drivers/crypto/virtio/virtio_crypto_core.c |   4 +-
>>  drivers/net/virtio_net.c                   |  98 +++++++--
>>  drivers/virtio/virtio_pci_common.c         |   7 +-
>>  drivers/virtio/virtio_pci_common.h         |   2 +-
>>  include/asm-generic/bitops/find.h          |  20 ++
>>  include/linux/bitmap.h                     |   6 +-
>>  include/linux/cpumask.h                    |  18 +-
>>  include/linux/netdevice.h                  |  98 ++++++++-
>>  include/linux/virtio_config.h              |   7 +-
>>  lib/cpumask.c                              |   9 +-
>>  lib/find_bit.c                             |  59 +++--
>>  lib/test_find_bit.c                        |  25 ++-
>>  net/core/dev.c                             | 240 ++++++++++++++-------
>>  net/core/net-sysfs.c                       |  91 +++++++-
>>  tools/include/asm-generic/bitops/find.h    |  16 ++
>>  tools/lib/find_bit.c                       |  39 +++-
>>  19 files changed, 605 insertions(+), 140 deletions(-)
>>
>> -- 
>> 2.17.1
>>
>