Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1610501

Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed

From Marc Zyngier <marc.zyngier@arm.com>
Newsgroups linux.kernel
Subject Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed
Date 2017-03-28 11:50 +0200
Message-ID <tpVVh-5DA-37@gated-at.bofh.it> (permalink)
References <tpRHX-2LM-3@gated-at.bofh.it> <tpRHX-2LM-9@gated-at.bofh.it> <tpUPw-4W7-3@gated-at.bofh.it> <tpVVh-5DA-39@gated-at.bofh.it>
Organization ARM Ltd

Show all headers | View raw


On 28/03/17 10:12, Benjamin Herrenschmidt wrote:
> On Tue, 2017-03-28 at 09:32 +0100, Marc Zyngier wrote:
>> I'm a bit concerned by this. It means that you can't even mask an
>> interrupt. Is that really what you intend to do? Or all that the HW can
>> do? If you cannot mask an interrupt, you're at the mercy of a screaming
>> device...
> 
> This is not really an interrupt controller. It's a "summary" register
> that reflects the state of the 14 i2c controller interrupts.
> 
> This approach does have the advantage of providing separate counters in
> /proc/interrupts which is rather nice, but it does have overhead. On
> those shittly little ARMv9 400Mhz cores it can be significant.

<pedantic>
s/ARMv9/ARM9/, as we're still on variations of the ARMv8 architecture ;-)
</pedantic>

A 400MHz ARM9 (which is either ARMv4 or ARMv5) is not too bad (hey, we
still have a couple of Versatile-ABs here...). Caches are pretty small
though.

> I would personally have some kind of trick to register a single
> interrupt handler that calls directly the handlers of the respective
> i2c busses via a simple indirection for speed, maybe adding my custom
> sysfs or debugfs statistics. But that's just me trying to suck the last
> cycle out of the bloody thing ;-)

I'd hope the irqdomain itself to be pretty light (the revmap should help
here), but of course you're going to do more work. Counters also come at
a cost. It'd be interesting to see if Brendan has any overhead data
about this.

Cheers,

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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed Brendan Higgins <brendanhiggins@google.com> - 2017-03-28 07:20 +0200
  Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for  Aspeed Marc Zyngier <marc.zyngier@arm.com> - 2017-03-28 10:40 +0200
    Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for  Aspeed Marc Zyngier <marc.zyngier@arm.com> - 2017-03-28 11:50 +0200
      Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller  for Aspeed Benjamin Herrenschmidt <benh@kernel.crashing.org> - 2017-03-29 00:10 +0200
        Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed Brendan Higgins <brendanhiggins@google.com> - 2017-03-29 12:10 +0200
          Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for  Aspeed Marc Zyngier <marc.zyngier@arm.com> - 2017-03-29 13:00 +0200
    Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller  for Aspeed Benjamin Herrenschmidt <benh@kernel.crashing.org> - 2017-03-28 13:10 +0200
  Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller  for Aspeed Benjamin Herrenschmidt <benh@kernel.crashing.org> - 2017-03-28 11:00 +0200
  Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed Joel Stanley <joel@jms.id.au> - 2017-03-29 13:10 +0200
    Re: [PATCH v6 2/5] irqchip/aspeed-i2c-ic: Add I2C IRQ controller for Aspeed Brendan Higgins <brendanhiggins@google.com> - 2017-03-29 22:20 +0200

csiph-web