From: Michael Kelley Sent: Wednesday, November 15, 2023
9:26 PM
> >
> > diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c
> > b/drivers/net/ethernet/microsoft/mana/gdma_main.c
> > index 6367de0c2c2e..839be819d46e 100644
> > --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c
> > +++
From: Souradeep Chakrabarti Sent: Wednesday,
November 15, 2023 5:49 AM
>
> Existing MANA design assigns IRQ affinity to every sibling CPUs, which causes
Let's make this more specific by saying "... assigns IRQs to every CPU,
Including sibling hyper-threads in a core, which causes "
> IRQ
On Wed, Nov 15, 2023 at 08:23:54PM +, Robin Murphy wrote:
> On 2023-11-15 3:36 pm, Jason Gunthorpe wrote:
> > On Wed, Nov 15, 2023 at 03:22:09PM +, Robin Murphy wrote:
> > > On 2023-11-15 2:05 pm, Jason Gunthorpe wrote:
> > > > [Several people have tested this now, so it is something that s
On Fri, 10 Nov 2023 06:39:00 -0800
Haiyang Zhang wrote:
> +static int netvsc_prepare_slave(struct net_device *vf_netdev)
It would be good to not introduce another instance of non-inclusive naming in
network code.
Please think of a better term. Can't change IFF_SLAVE but the rest could change.
> -Original Message-
> From: Souradeep Chakrabarti
> Sent: Wednesday, November 15, 2023 8:49 AM
> To: KY Srinivasan ; Haiyang Zhang
> ; wei@kernel.org; Dexuan Cui
> ; da...@davemloft.net; eduma...@google.com;
> k...@kernel.org; pab...@redhat.com; Long Li ;
> sharmaa...@microsoft.com
On Wed, Nov 15, 2023 at 6:19 PM Michael Kelley wrote:
>
> From: Uros Bizjak Sent: Tuesday, November 14, 2023 8:59 AM
> >
> > Use atomic_try_cmpxchg() instead of atomic_cmpxchg(*ptr, old, new) == old
> > in hv_nmi_unknown(). On x86 the CMPXCHG instruction returns success in
> > the ZF flag, so thi
On 2023-11-15 3:36 pm, Jason Gunthorpe wrote:
On Wed, Nov 15, 2023 at 03:22:09PM +, Robin Murphy wrote:
On 2023-11-15 2:05 pm, Jason Gunthorpe wrote:
[Several people have tested this now, so it is something that should sit in
linux-next for a while]
What's the aim here? This is obviously
From: Uros Bizjak Sent: Tuesday, November 14, 2023 8:59 AM
>
> Use atomic_try_cmpxchg() instead of atomic_cmpxchg(*ptr, old, new) == old
> in hv_nmi_unknown(). On x86 the CMPXCHG instruction returns success in
> the ZF flag, so this change saves a compare after CMPXCHG. The generated
> asm code i
On Fri, 10 Nov 2023 12:05:13 -0800
Jakub Kicinski wrote:
> On Fri, 10 Nov 2023 00:43:55 + Long Li wrote:
> > The code above needs to work with and without netvsc (the possible
> > master device) present.
>
> I don't think that's a reasonable requirement for the kernel code.
>
> The auto-b
On Wed, Nov 15, 2023 at 03:22:09PM +, Robin Murphy wrote:
> On 2023-11-15 2:05 pm, Jason Gunthorpe wrote:
> > [Several people have tested this now, so it is something that should sit in
> > linux-next for a while]
>
> What's the aim here? This is obviously far, far too much for a
> stable fix,
On 2023-11-15 2:05 pm, Jason Gunthorpe wrote:
[Several people have tested this now, so it is something that should sit in
linux-next for a while]
What's the aim here? This is obviously far, far too much for a stable
fix, but then it's also not the refactoring we want for the future
either, si
Reviewed-by: Jerry Snitselaar
There are no external callers now.
Signed-off-by: Jason Gunthorpe
---
drivers/iommu/iommu.c | 3 ++-
include/linux/iommu.h | 7 ---
2 files changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index 5af98cad06f9ef..ea6aede326131e 100644
--- a/d
Did patch 12 v2 get sent? I'm not seeing it locally, nor in lore, and b4
doesn't find it when pulling then thread.
Regards,
Jerry
Reviewed-by: Jerry Snitselaar
Reviewed-by: Jerry Snitselaar
Instead of obtaining an iommu_fwspec from dev->iommu allow a caller
allocated fwspec to be passed into the probe logic. To keep the driver ops
APIs the same the fwspec is stored in dev->iommu under the
iommu_probe_device_lock.
If a fwspec is available use it to provide the ops instead of the bus.
[Several people have tested this now, so it is something that should sit in
linux-next for a while]
The iommu subsystem uses dev->iommu to store bits of information about the
attached iommu driver. This has been co-opted by the ACPI/OF code to also
be a place to pass around the iommu_fwspec before
This resolves the race around touching dev->iommu while generating the OF
fwspec on the of_iommu_configure() flow:
CPU0 CPU1
of_iommu_configure()iommu_device_register()
.. bus_iommu_probe()
iommu_fwspec_o
Allow fwspec to exist independently from the dev->iommu by providing
functions to allow allocating and freeing the raw struct iommu_fwspec.
Reflow the existing paths to call the new alloc/dealloc functions.
Reviewed-by: Jerry Snitselaar
Signed-off-by: Jason Gunthorpe
---
drivers/iommu/iommu.c
The optimization of kreallocing the entire fwspec only works if the fwspec
pointer is always stored in the dev->iommu. Since we want to change this
remove the optimization and make the ids array a distinct allocation.
Allow a single id to be stored inside the iommu_fwspec as a common case
optimiza
The new callback takes in the fwspec instead of retrieving it from the
dev->iommu. Provide iommu_fwspec_append_ids() to work directly on the
fwspec.
Convert SMMU, SMMUv3, and virtio to use iommu_fwspec_append_ids() and the
new entry point.
This avoids having to touch dev->iommu at all, and doesn'
Instead of returning 1 and trying to handle positive error codes just
stick to the convention of returning -ENODEV. Remove references to ops
from of_iommu_configure(), a NULL ops will already generate an error code.
There is no reason to check dev->bus, if err=0 at this point then the
called confi
These days the core code will free the fwspec if probe fails, no reason
for any driver to call this on a probe failure path.
Reviewed-by: Jerry Snitselaar
Signed-off-by: Jason Gunthorpe
---
drivers/iommu/arm/arm-smmu/arm-smmu.c | 14 +-
drivers/iommu/tegra-smmu.c| 1 -
This call chain is using dev->iommu->fwspec to pass around the fwspec
between the three parts (of_iommu_configure(), of_iommu_xlate(),
iommu_probe_device()).
However there is no locking around the accesses to dev->iommu, so this is
all racy.
Allocate a clean, local, fwspec at the start of of_iomm
This call chain is using dev->iommu->fwspec to pass around the fwspec
between the three parts (acpi_iommu_configure_id(),
acpi_iommu_fwspec_init(), iommu_probe_device()).
However there is no locking around the accesses to dev->iommu, so this is
all racy.
Allocate a clean, local, fwspec at the sta
This is only used internally to iommu.c now, get rid of it to discourage
things outside iommu.c from trying to manipulate dev->iommu->fwspec.
Reviewed-by: Jerry Snitselaar
Signed-off-by: Jason Gunthorpe
---
drivers/iommu/iommu.c | 2 +-
include/linux/iommu.h | 6 --
2 files changed, 1 inser
A perfect driver would only call dev_iommu_priv_set() from its probe
callback. We've made it functionally correct to call it from the of_xlate
by adding a lock around that call.
lockdep assert that iommu_probe_device_lock is held to discourage misuse.
Exclude PPC kernels with CONFIG_FSL_PAMU turn
Allocation of dev->iommu must be done under the
iommu_probe_device_lock. Mark this with lockdep to discourage future
mistakes.
Reviewed-by: Jerry Snitselaar
Signed-off-by: Jason Gunthorpe
---
drivers/iommu/iommu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/iommu/iommu.c b/dri
This is not being used to pass ops, it is just a way to tell if an
iommu driver was probed. These days this can be detected directly via
device_iommu_mapped(). Call device_iommu_mapped() in the two places that
need to check it and remove the iommu parameter everywhere.
Reviewed-by: Jerry Snitselaa
This is a version of iommu_fwspec_add_ids() that takes in the fwspec as an
argument instead of getting it through dev->iommu.
Reviewed-by: Jerry Snitselaar
Signed-off-by: Jason Gunthorpe
---
drivers/iommu/iommu.c | 17 +++--
include/linux/iommu.h | 1 +
2 files changed, 12 insertio
Nothing needs this pointer. Return a normal error code with the usual
IOMMU semantic that ENODEV means 'there is no IOMMU driver'.
Reviewed-by: Jerry Snitselaar
Acked-by: Rob Herring
Signed-off-by: Jason Gunthorpe
---
drivers/iommu/of_iommu.c | 31 +++
drivers/of/de
Nothing needs this pointer. Return a normal error code with the usual
IOMMU semantic that ENODEV means 'there is no IOMMU driver'.
Acked-by: Rafael J. Wysocki
Signed-off-by: Jason Gunthorpe
---
drivers/acpi/scan.c | 24 +++-
1 file changed, 15 insertions(+), 9 deletions(-)
Existing MANA design assigns IRQ affinity to every sibling CPUs, which causes
IRQ coalescing and may reduce the network performance with RSS.
Improve the performance by adhering the configuration for RSS, which prioritise
IRQ affinity on HT cores.
Signed-off-by: Souradeep Chakrabarti
---
.../ne
34 matches
Mail list logo