On 2022-05-26 01:15:39 [-0700], Saravana Kannan wrote:
> Yoshihiro/Geert,
Hi Saravana,
> If you can test this patch series and confirm that the NFS root case
> works, I'd really appreciate that.
The two patches you sent earlier, plus this series, plus
diff --git a/drivers/base/core.c
On 2022-05-24 10:46:49 [-0700], Saravana Kannan wrote:
> > Removing probe_timeout_waitqueue (as suggested) or setting the timeout
> > to 0 avoids the delay.
>
> In your case, I think it might be working as intended? Curious, what
> was the call stack in your case where it was blocked?
Why is
On 2022-05-23 20:43:06 [-0700], Saravana Kannan wrote:
…
> Thanks for all the help. I think I know what's going on.
I, too got here because my boot recently was extended by 10 seconds and
bisected to that commit in question.
> If you revert the following commit, then you'll see that your device
- stepping on del button while browsing though CCs.
On 2019-04-04 09:47:27 [-0600], Tycho Andersen wrote:
> > Hmm. do_exit() isn't really meant to be "try your best to leave the
> > system somewhat usable without returning" -- it's a function that,
> > other than in OOPSes, is called from a
On 2018-05-06 11:53:26 [+0200], Danilo Krummrich wrote:
> When CONFIG_IRQ_REMAP is not set iommu_table_lock is unused and hece
> a warning is generated.
>
> Fixes: ea6166f4b83e9 ("iommu/amd: Split irq_lookup_table out of the
> amd_iommu_devtable_lock")
> Signed-off-by: Danilo Krummrich
mplementation of those functions. Add
lockdep checks where appropriate.
Signed-off-by: Anna-Maria Gleixner <anna-ma...@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 70 +--
1 file chang
;
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 32 ++--
1 file changed, 10 insertions(+), 22 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index f66a5d0b7c62..a801678ae1b4 100644
-
g.
Move the check with the explanation of the do_detach() code into the caller
detach_device() and return immediately. Throw an error, when hitting the
condition in cleanup_domain().
Signed-off-by: Anna-Maria Gleixner <anna-ma...@linutronix.de>
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutr
Primary motivation was to get rid of the "WARN_ON(!irqs_disabled());"
check. The first patch avoids a possible loop (if cleanup_domain() is
invoked `entry->domain == NULL' then it loops for ever).
The irqs_disabled() check has been replaced with a lockdep_assert_held()
check.
Sebastian
On 2018-04-20 11:28:36 [+0200], Tobias Regnery wrote:
> The iommu_table_lock is only used by code inside an ifdef CONFIG_IRQ_REMAP
> block. This leads to the following warning with CONFIG_IRQ_REMAP=n:
>
> amd_iommu.c:86:24: warning: 'iommu_table_lock' defined but not used
> [-Wunused-variable]
>
ommu_table_lock);
>
> This moves the definition next to the user, within the #ifdef protected
> section of the file.
>
> Fixes: ea6166f4b83e ("iommu/amd: Split irq_lookup_table out of the
> amd_iommu_devtable_lock")
> Signed-off-by: Arnd Bergmann <a...@arndb.de>
Acked-
hile the lock is dropped since the same device can only be probed once.
However I check for both cases, just to be sure.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 65 +--
1 file changed, 4
irq_domain_mutex so the
initialization of iommu->irte_ops->set_allocated() should not race
against other user.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 34 --
1 file changed, 20 insertions(+),
change its type to a spin_lock.
I *think* that we might even be able to remove the lock because all its
current user seem to have their own protection.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 14 +++---
1 file changed, 7
.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 23 ---
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index ea120c7b46c9..11ea2d656be8 100644
--- a/d
1' instead `-ENOMEM' what was intended.
In order to correct this, I assign -ENOMEM to index.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c
The variable of type struct irq_remap_table is always named `table'
except in amd_iommu_update_ga() where it is called `irt'. Make it
consistent and name it also `table'.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 10 +-
zed with its own (iommu's) lock.
So split out get_irq_table() out of amd_iommu_devtable_lock's lock.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c
-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 12 +---
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index d4c2b1a11924..fcfdce70707d 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/d
it.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 28 ++--
drivers/iommu/amd_iommu_types.h | 2 +-
2 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
s required.
Cc: Baoquan He <b...@redhat.com>
Fixes: df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred call-back")
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/i
Hi,
this is the rebase on top of iommu/x86/amd of my last series. It takes
Scotts comments into consideration from my v2.
It contains lock splitting and GFP_KERNEL allocation of remap-table.
Mostly cleanup.
The patches were boot tested on an AMD EPYC 7601.
Sebastian
On 2018-03-17 16:43:39 [-0500], Scott Wood wrote:
> If that's worth the lock dropping then fine (though why does only one
> of the two allocations use GFP_KERNEL?), but it doesn't need to be a
That was a mistake, I planned to keep both as GFP_KERNEL.
> raw lock if the non-allocating users are
On 2018-03-17 14:49:54 [-0500], Scott Wood wrote:
> On Fri, 2018-03-16 at 21:18 +0100, Sebastian Andrzej Siewior wrote:
> > The goal here is to make the memory allocation in get_irq_table() not
> > with disabled interrupts and having as little raw_spin_lock as
> > possible
.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 23 ---
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 6ee8ef22ad51..7dd4c27a941d 100644
--- a/d
get_irq_table() has a special ioapic argument. If set then it will
pre-allocate / reserve the first 32 indexes. The argument is only once
true and it would make get_irq_table() a little simpler if we would
extract the special bits to the caller.
Signed-off-by: Sebastian Andrzej Siewior <b
The goal here is to make the memory allocation in get_irq_table() not
with disabled interrupts and having as little raw_spin_lock as possible
while having them if the caller is also holding one (like desc->lock
during IRQ-affinity changes).
I reverted one patch one patch in the iommu while
change its type to a spin_lock.
I *think* that we might even be able to remove the lock because all its
current user seem to have their own protection.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 14 +++---
1 file changed, 7
ot;devid" entry appears in irq_lookup_table
while the lock is dropped since the same device can only be probed once.
It is more likely that another device added an `alias' entry. However I
check for both cases, just to be sure.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
The variable of type struct irq_remap_table is always named `table'
except in amd_iommu_update_ga() where it is called `irt'. Make it
consistent and name it also `table'.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 10 +-
t Wood <sw...@redhat.com>
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 29 +++--
1 file changed, 7 insertions(+), 22 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 5191319d9f0
zed with its own (iommu's) lock.
So split out get_irq_table() out of amd_iommu_devtable_lock's lock. The
new lock is a raw_spin_lock because modify_irte_ga() is called while
desc->lock is held (which is raw).
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd
-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 12 +---
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 0e57ce2c258b..692b2e3b9af1 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/d
s required.
Cc: Baoquan He <b...@redhat.com>
Fixes: df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred call-back")
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/i
it.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 28 ++--
drivers/iommu/amd_iommu_types.h | 2 +-
2 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
On 2018-03-15 16:19:17 [+0100], Joerg Roedel wrote:
> Okay, if the irq-layer does the needed locking, then we don't need
> another lock here. There is the modify_irte_ga() path for the
> virtualized irq routing into KVM guests, but there should be no KVM
> guests running when setup the ioapic
On 2018-03-15 13:53:42 [+0100], Joerg Roedel wrote:
> On Fri, Feb 23, 2018 at 11:27:31PM +0100, Sebastian Andrzej Siewior wrote:
> > @@ -4103,10 +4093,26 @@ static int irq_remapping_alloc(struct irq_domain
> > *domain, unsigned int virq,
> > return ret;
> &g
change its type to a spin_lock.
I *think* that we might even be able to remove the lock because all its
current user seem to have their own protection.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 14 +++---
1 file changed, 7
get_irq_table() has a special ioapic argument. If set then it will
pre-allocate / reserve the first 32 indexes. The argument is only once
true and it would make get_irq_table() a little simpler if we would
extract the special bits to the caller.
Signed-off-by: Sebastian Andrzej Siewior <b
te and flush the iommu.
The latter is also required during table allocation.
I currently don't see a feasible way of getting this done without
turning both locks raw so here it is.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_
s required.
Cc: Baoquan He <b...@redhat.com>
Fixes: df3f7a6e8e85 ("iommu/amd: Use is_attach_deferred call-back")
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/i
The variable of type struct irq_remap_table is always named `table'
except in amd_iommu_update_ga() where it is called `irt'. Make it
consistent and name it also `table'.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 10 +-
.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 23 ---
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index d3a05d794218..b763fcbd790d 100644
--- a/d
ot;devid" entry appears in irq_lookup_table
while the lock is dropped since the same device can only be probed once.
It is more likely that another device added an `alias' entry. However I
check for both cases, just to be sure.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
Hi,
I have no idea why but suddenly my A10 box complained loudly about
locking and memory allocations within the iommu code under RT. Looking
at the code it has been like this for a longer time so the iommu must
have appeared recently (well there was a bios upgrade due to other
issues so it might
zed with its own (iommu's) lock.
So split out get_irq_table() out of amd_iommu_devtable_lock's lock. The
new lock is a raw_spin_lock because modify_irte_ga() is called while
desc->lock is held (which is raw).
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd
-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 12 +---
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 53aece41ddf2..958efe311057 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/d
it.
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 28 ++--
drivers/iommu/amd_iommu_types.h | 2 +-
2 files changed, 11 insertions(+), 19 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
On 2017-09-21 17:21:40 [+0200], Sebastian Andrzej Siewior wrote:
> get_cpu_ptr() disabled preemption and returns the ->fq object of the
> current CPU. raw_cpu_ptr() does the same except that it not disable
> preemption which means the scheduler can move it to another CPU after i
ure itself is
protected with a spin_lock. This change shouldn't matter however on RT
it does because the sleeping lock can't be accessed with disabled
preemption.
Cc: Joerg Roedel <j...@8bytes.org>
Cc: iommu@lists.linux-foundation.org
Reported-by: vina...@gmail.com
Signed-off-by: Sebastian Andrze
On 2017-09-11 22:22:11 [-0400], Vinod Adhikary wrote:
> Dear all,
Hi,
> Thank you for the great community support and support from Sebastian to
> provide me this patch. I wanted to send this email to inform you and
> perhaps get some information on how I could keep myself updated on updates
> in
Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/amd_iommu.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 4ad7e5e31943..943efbc08128 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/io
On 2017-06-28 11:22:05 [+0200], Joerg Roedel wrote:
> On Tue, Jun 27, 2017 at 06:16:47PM +0200, Sebastian Andrzej Siewior wrote:
> > Commit 583248e6620a ("iommu/iova: Disable preemption around use of
> > this_cpu_ptr()") disables preemption while accessing a per-CPU var
r CPU down (and none for up) so we are good.
Cc: Joerg Roedel <j...@8bytes.org>
Cc: iommu@lists.linux-foundation.org
Cc: Andrew Morton <a...@linux-foundation.org>
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/iova.c | 9 +++--
1 file changed,
<dw...@infradead.org>
Cc: Joerg Roedel <j...@8bytes.org>
Cc: iommu@lists.linux-foundation.org
Cc: Andrew Morton <a...@linux-foundation.org>
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/intel-iommu.c | 8 ++--
1 file changed, 2 insertions(+),
different CPU (which means he needs
protection against concurrent access).
Cc: Joerg Roedel <j...@8bytes.org>
Cc: iommu@lists.linux-foundation.org
Cc: Chris Wilson <ch...@chris-wilson.co.uk>
Signed-off-by: Sebastian Andrzej Siewior <bige...@linutronix.de>
---
drivers/iommu/iova.c |
56 matches
Mail list logo