Skip to contentSkip to conversation

irqchip/gicv3-its: ITS table size should not be smaller than PSZ

PATCH RESEND Superseded Stuart Yoder 4 participants 7 messages May 20, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH RESEND v3 1/1 irqchip/gicv3-its: ITS table size should not be smaller than PSZ

when allocating a device table, if the requested allocation is smaller than the default granule size of the ITS then, we need to round up to the default size

---
-v3 changes
-updated commit message and added comment
-v3 resend-- updated email addresses sent to
-would be nice to get this into 4.1 as the kernel will hang booting
on some systems

 drivers/irqchip/irq-gic-v3-its.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
drivers/irqchip/irq-gic-v3-its.c +8 -1
index 9687f8a..1b7e155 100644
@@ -828,7 +828,14 @@ static int its_alloc_tables(struct its_node *its)
 			u64 typer = readq_relaxed(its->base + GITS_TYPER);
 			u32 ids = GITS_TYPER_DEVBITS(typer);
 
-			order = get_order((1UL << ids) * entry_size);
+			/*
+			 * 'order' was initialized earlier to the default page
+			 * granule of the the ITS.  We can't have an allocation
+			 * smaller than that.  If the requested allocation
+			 * is smaller, round up to the default page granule.
+			 */
+			order = max(get_order((1UL << ids) * entry_size),
+				    order);
 			if (order >= MAX_ORDER) {
 				order = MAX_ORDER - 1;
 				pr_warn("%s: Device Table too large, reduce its page order to %u\n",
Signature · 1 line
2.3.3
#2 lore raw

PATCH RESEND v3 1/1 irqchip/gicv3-its: ITS table size should not be smaller than PSZ

Quoted 12 lines

-----Original Message-----
From: Thomas Gleixner [mailto:tglx at linutronix.de]
Sent: Wednesday, May 20, 2015 2:26 PM
To: Yoder Stuart-B08248
Cc: marc.zyngier at arm.com; jason at lakedaemon.net; linux-kernel at vger.kernel.org; linux-arm- kernel at lists.infradead.org; Lian Minghuan-B31939
Subject: Re: [RESEND][ PATCH v3] irqchip/gicv3-its: ITS table size should not be smaller than PSZ

On Wed, 20 May 2015, Stuart Yoder wrote:

Quoted 8 lines
Quoted 6 lines

when allocating a device table, if the requested allocation is smaller than the default granule size of the ITS then, we need to round up to the default size

So who wrote that patch? That's not a valid SOB chain ....

Minghuan wrote the original patch (v1,v2), making the functional change. I wrote/added the comments and submitted v3, after discussing with Minghuan.

Given that, what is the correct signed-off-by chain?

Thanks,
Stuart

#3 lore raw

Hi Stuart,

Quoted 10 lines · Stuart Yoder
Quoted 10 lines

-----Original Message-----
From: Thomas Gleixner [mailto:tglx at linutronix.de]
Sent: Wednesday, May 20, 2015 2:26 PM
To: Yoder Stuart-B08248
Cc: marc.zyngier at arm.com; jason at lakedaemon.net; linux-kernel at vger.kernel.org; linux-arm- kernel at lists.infradead.org; Lian Minghuan-B31939
Subject: Re: [RESEND][ PATCH v3] irqchip/gicv3-its: ITS table size should not be smaller than PSZ

Quoted 2 lines
Quoted 2 lines · Stuart Yoder

If this were your original email:
---------------------------------------

Quoted 11 lines
Quoted 11 lines
Quoted 11 lines

From: Minghuan Lian <[email protected]>

when allocating a device table, if the requested allocation is smaller than the default granule size of the ITS then, we need to round up to the default size

[sy: Added code comments and resubmitted]

---------------------------------------

it would have worked.

By adding a second 'From' line in the body of the message, 'git am' will put the correct author on the commit.

Quoted 5 lines
Quoted 1 line

So who wrote that patch? That's not a valid SOB chain ....

Minghuan wrote the original patch (v1,v2), making the functional change. I wrote/added the comments and submitted v3, after discussing with Minghuan.

thx,

Jason.

#4 lore raw
In reply to Stuart Yoder
Quoted 17 lines · Stuart Yoder
Quoted 17 lines

-----Original Message-----
From: Thomas Gleixner [mailto:[email protected]]
Sent: Wednesday, May 20, 2015 2:26 PM
To: Yoder Stuart-B08248
Cc: [email protected]; [email protected]; [email protected]; linux-arm- [email protected]; Lian Minghuan-B31939
Subject: Re: [RESEND][ PATCH v3] irqchip/gicv3-its: ITS table size should not be smaller than PSZ

Quoted 4 lines · Stuart Yoder

when allocating a device table, if the requested allocation is smaller than the default granule size of the ITS then, we need to round up to the default size

Quoted 7 lines
Quoted 1 line

So who wrote that patch? That's not a valid SOB chain ....

Minghuan wrote the original patch (v1,v2), making the functional change. I wrote/added the comments and submitted v3, after discussing with Minghuan.

Given that, what is the correct signed-off-by chain?

From: Minghuan Lian <[email protected]>

[ Stuart: Added comments and massaged changelog]

So the authorship gets attributed to Minghuan and it's noticed in the changelog that you added comments and the changelog updates and then sent the patch.

I'll apply it with that change, ok?

Thanks,

tglx

#5 lore raw

PATCH RESEND v3 1/1 irqchip/gicv3-its: ITS table size should not be smaller than PSZ

Quoted 43 lines

-----Original Message-----
From: Thomas Gleixner [mailto:tglx at linutronix.de]
Sent: Wednesday, May 20, 2015 3:09 PM
To: Yoder Stuart-B08248
Cc: marc.zyngier at arm.com; jason at lakedaemon.net; linux-kernel at vger.kernel.org; linux-arm- kernel at lists.infradead.org; Lian Minghuan-B31939
Subject: RE: [RESEND][ PATCH v3] irqchip/gicv3-its: ITS table size should not be smaller than PSZ

Quoted 17 lines · Stuart Yoder
Quoted 17 lines

-----Original Message-----
From: Thomas Gleixner [mailto:tglx at linutronix.de]
Sent: Wednesday, May 20, 2015 2:26 PM
To: Yoder Stuart-B08248
Cc: marc.zyngier at arm.com; jason at lakedaemon.net; linux-kernel at vger.kernel.org; linux-arm- kernel at lists.infradead.org; Lian Minghuan-B31939
Subject: Re: [RESEND][ PATCH v3] irqchip/gicv3-its: ITS table size should not be smaller than PSZ

Quoted 4 lines · Stuart Yoder

when allocating a device table, if the requested allocation is smaller than the default granule size of the ITS then, we need to round up to the default size

Quoted 7 lines
Quoted 1 line

So who wrote that patch? That's not a valid SOB chain ....

Minghuan wrote the original patch (v1,v2), making the functional change. I wrote/added the comments and submitted v3, after discussing with Minghuan.

Given that, what is the correct signed-off-by chain?

From: Minghuan Lian <[email protected]>

[ Stuart: Added comments and massaged changelog]
Quoted 5 lines

So the authorship gets attributed to Minghuan and it's noticed in the changelog that you added comments and the changelog updates and then sent the patch.

I'll apply it with that change, ok?

Sure. Thanks!

Stuart

#6 lore raw
In reply to Stuart Yoder
irqchip/gicv3-its: ITS table size should not be smaller than PSZ
Commit-ID:  3ad2a5f57656a14d964b673a5a0e4ab0e583c870
Gitweb:     http://git.kernel.org/tip/3ad2a5f57656a14d964b673a5a0e4ab0e583c870
Author:     Minghuan Lian <[email protected]>
AuthorDate: Wed, 20 May 2015 10:13:15 -0500
Committer:  Thomas Gleixner <[email protected]>
CommitDate: Wed, 20 May 2015 22:13:37 +0200

irqchip/gicv3-its: ITS table size should not be smaller than PSZ

When allocating a device table, if the requested allocation is smaller than the default granule size of the ITS then, we need to round up to the default size.

---
 drivers/irqchip/irq-gic-v3-its.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
drivers/irqchip/irq-gic-v3-its.c +8 -1
index 9687f8a..1b7e155 100644
@@ -828,7 +828,14 @@ static int its_alloc_tables(struct its_node *its)
 			u64 typer = readq_relaxed(its->base + GITS_TYPER);
 			u32 ids = GITS_TYPER_DEVBITS(typer);
 
-			order = get_order((1UL << ids) * entry_size);
+			/*
+			 * 'order' was initialized earlier to the default page
+			 * granule of the the ITS.  We can't have an allocation
+			 * smaller than that.  If the requested allocation
+			 * is smaller, round up to the default page granule.
+			 */
+			order = max(get_order((1UL << ids) * entry_size),
+				    order);
 			if (order >= MAX_ORDER) {
 				order = MAX_ORDER - 1;
 				pr_warn("%s: Device Table too large, reduce its page order to %u\n",