All of lore.kernel.org
 help / color / mirror / Atom feed
From: marc.zyngier@arm.com (Marc Zyngier)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/1] irqchip: irq-gic: forward SGI to itself for cortex-a7 single core
Date: Tue, 9 Aug 2016 11:08:49 +0100	[thread overview]
Message-ID: <57A9ABB1.6060109@arm.com> (raw)
In-Reply-To: <20160809093942.GA10803@shlinux2>

On 09/08/16 10:39, Peter Chen wrote:
> 
> Your patch can work for my case. Below is objdump for gic_raise_softirq,
> the code with your patch seems have more instructions.

Well, I've added code to the function, so that's hardly surprising. The
important thing is that the hot path is kept relatively fast.

> 
> - With your patch:
> 00000c44 <gic_raise_softirq>:
>      c44:	e1a0c00d 	mov	ip, sp
>      c48:	e92ddbf0 	push	{r4, r5, r6, r7, r8, r9, fp, ip, lr, pc}
>      c4c:	e24cb004 	sub	fp, ip, #4
>      c50:	e59f908c 	ldr	r9, [pc, #140]	; ce4 <gic_raise_softirq+0xa0>
>      c54:	e1a06000 	mov	r6, r0
>      c58:	e1a07001 	mov	r7, r1
>      c5c:	e5993000 	ldr	r3, [r9]
>      c60:	e3530001 	cmp	r3, #1
>      c64:	0a000019 	beq	cd0 <gic_raise_softirq+0x8c>

So the overhead is two loads, one comparison and a branch. Can you
actually measure the difference? If you can, I'd like to see some cycle
numbers, not just instruction counts. If you can consistently measure
something that is not just noise, we can then turn this into a static key.

I bet you won't see anything.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...

  reply	other threads:[~2016-08-09 10:08 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-08  7:49 [PATCH 1/1] irqchip: irq-gic: forward SGI to itself for cortex-a7 single core Peter Chen
2016-08-08 10:50 ` Mark Rutland
2016-08-08 12:00   ` Peter Chen
2016-08-08 13:07     ` Mark Rutland
2016-08-08 13:28       ` Peter Chen
2016-08-08 13:48         ` Mark Rutland
2016-08-08 13:59           ` Marc Zyngier
2016-08-09  3:46             ` Peter Chen
2016-08-09  5:34               ` Marc Zyngier
2016-08-09  5:57                 ` Peter Chen
2016-08-09  6:59                   ` Marc Zyngier
2016-08-09  7:18                     ` Peter Chen
2016-08-09  8:54                       ` Marc Zyngier
2016-08-09  9:39                         ` Peter Chen
2016-08-09 10:08                           ` Marc Zyngier [this message]
2016-08-09 11:50                             ` Peter Chen
2016-08-09 13:03                         ` Fabio Estevam
2016-08-16 16:29                         ` Fabio Estevam
2016-08-16 16:48                           ` Marc Zyngier
2016-08-16 17:03                             ` Fabio Estevam
2016-08-16 18:09                               ` Fabio Estevam
2016-08-09  9:30   ` Russell King - ARM Linux
2016-08-08 13:39 ` Marc Zyngier
2016-08-09  3:16   ` Peter Chen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=57A9ABB1.6060109@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.