All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <marc.zyngier@arm.com>
To: Christoph Hellwig <hch@infradead.org>,
	"ksummit-discuss@lists.linuxfoundation.org"
	<ksummit-discuss@lists.linuxfoundation.org>
Cc: "linux-rdma@vger.kernel.org" <linux-rdma@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-nvme@lists.infradead.org" <linux-nvme@lists.infradead.org>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] IRQ affinity
Date: Wed, 15 Jul 2015 15:56:30 +0100	[thread overview]
Message-ID: <55A6749E.7040803@arm.com> (raw)
In-Reply-To: <20150715120708.GA24534@infradead.org>

On 15/07/15 13:07, Christoph Hellwig wrote:
> Many years ago we decided to move setting of IRQ to core affnities to
> userspace with the irqbalance daemon.
> 
> These days we have systems with lots of MSI-X vector, and we have
> hardware and subsystem support for per-CPU I/O queues in the block
> layer, the RDMA subsystem and probably the network stack (I'm not too
> familar with the recent developments there).  It would really help the
> out of the box performance and experience if we could allow such
> subsystems to bind interrupt vectors to the node that the queue is
> configured on.
> 
> I'd like to discuss if the rationale for moving the IRQ affinity setting
> fully to userspace are still correct in todays world any any pitfalls
> we'll have to learn from in irqbalanced and the old in-kernel affinity
> code.

I've been pondering about having some notion of "grouping", where some
interrupts are logically part of the same working set, and it doesn't
make much sense to spread it among CPUs, and userspace doesn't really
have a clue about this.

A related problem is that some weird HW (things like cascaded interrupt
controllers) can only move a bunch of interrupt in one go, which isn't
really what userspace expects to see (move one interrupt, see another 31
moving).

Thanks,

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

WARNING: multiple messages have this Message-ID (diff)
From: marc.zyngier@arm.com (Marc Zyngier)
Subject: [Ksummit-discuss] [TECH TOPIC] IRQ affinity
Date: Wed, 15 Jul 2015 15:56:30 +0100	[thread overview]
Message-ID: <55A6749E.7040803@arm.com> (raw)
In-Reply-To: <20150715120708.GA24534@infradead.org>

On 15/07/15 13:07, Christoph Hellwig wrote:
> Many years ago we decided to move setting of IRQ to core affnities to
> userspace with the irqbalance daemon.
> 
> These days we have systems with lots of MSI-X vector, and we have
> hardware and subsystem support for per-CPU I/O queues in the block
> layer, the RDMA subsystem and probably the network stack (I'm not too
> familar with the recent developments there).  It would really help the
> out of the box performance and experience if we could allow such
> subsystems to bind interrupt vectors to the node that the queue is
> configured on.
> 
> I'd like to discuss if the rationale for moving the IRQ affinity setting
> fully to userspace are still correct in todays world any any pitfalls
> we'll have to learn from in irqbalanced and the old in-kernel affinity
> code.

I've been pondering about having some notion of "grouping", where some
interrupts are logically part of the same working set, and it doesn't
make much sense to spread it among CPUs, and userspace doesn't really
have a clue about this.

A related problem is that some weird HW (things like cascaded interrupt
controllers) can only move a bunch of interrupt in one go, which isn't
really what userspace expects to see (move one interrupt, see another 31
moving).

Thanks,

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

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <marc.zyngier-5wv7dgnIgG8@public.gmane.org>
To: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	"ksummit-discuss-cunTk1MwBs98uUxBSJOaYoYkZiVZrdSR2LY78lusg7I@public.gmane.org"
	<ksummit-discuss-cunTk1MwBs98uUxBSJOaYoYkZiVZrdSR2LY78lusg7I@public.gmane.org>
Cc: "linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-nvme-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] IRQ affinity
Date: Wed, 15 Jul 2015 15:56:30 +0100	[thread overview]
Message-ID: <55A6749E.7040803@arm.com> (raw)
In-Reply-To: <20150715120708.GA24534-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>

On 15/07/15 13:07, Christoph Hellwig wrote:
> Many years ago we decided to move setting of IRQ to core affnities to
> userspace with the irqbalance daemon.
> 
> These days we have systems with lots of MSI-X vector, and we have
> hardware and subsystem support for per-CPU I/O queues in the block
> layer, the RDMA subsystem and probably the network stack (I'm not too
> familar with the recent developments there).  It would really help the
> out of the box performance and experience if we could allow such
> subsystems to bind interrupt vectors to the node that the queue is
> configured on.
> 
> I'd like to discuss if the rationale for moving the IRQ affinity setting
> fully to userspace are still correct in todays world any any pitfalls
> we'll have to learn from in irqbalanced and the old in-kernel affinity
> code.

I've been pondering about having some notion of "grouping", where some
interrupts are logically part of the same working set, and it doesn't
make much sense to spread it among CPUs, and userspace doesn't really
have a clue about this.

A related problem is that some weird HW (things like cascaded interrupt
controllers) can only move a bunch of interrupt in one go, which isn't
really what userspace expects to see (move one interrupt, see another 31
moving).

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny...
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  parent reply	other threads:[~2015-07-15 14:56 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-15 12:07 [Ksummit-discuss] [TECH TOPIC] IRQ affinity Christoph Hellwig
2015-07-15 12:07 ` Christoph Hellwig
2015-07-15 12:07 ` Christoph Hellwig
2015-07-15 12:07 ` Christoph Hellwig
2015-07-15 12:12 ` [Ksummit-discuss] " Thomas Gleixner
2015-07-15 12:12   ` Thomas Gleixner
2015-07-15 12:12   ` Thomas Gleixner
2015-07-15 12:12   ` Thomas Gleixner
2015-07-15 15:41   ` Bart Van Assche
2015-07-15 15:41     ` Bart Van Assche
2015-07-15 15:41     ` Bart Van Assche
2015-07-15 15:41     ` Bart Van Assche
2015-07-15 17:19     ` Keith Busch
2015-07-15 17:19       ` Keith Busch
2015-07-15 17:19       ` Keith Busch
2015-07-15 17:19       ` Keith Busch
2015-07-15 17:25       ` Jens Axboe
2015-07-15 17:25         ` Jens Axboe
2015-07-15 17:25         ` Jens Axboe
2015-07-15 17:25         ` Jens Axboe
2015-07-15 18:24         ` Sagi Grimberg
2015-07-15 18:24           ` Sagi Grimberg
2015-07-15 18:24           ` Sagi Grimberg
2015-07-15 18:48         ` Matthew Wilcox
2015-07-15 18:48           ` Matthew Wilcox
2015-07-15 18:48           ` Matthew Wilcox
2015-07-16  6:13           ` Michael S. Tsirkin
2015-07-16  6:13             ` Michael S. Tsirkin
2015-07-16  6:13             ` Michael S. Tsirkin
2015-07-16  6:13             ` Michael S. Tsirkin
2015-07-17 15:51           ` Thomas Gleixner
2015-07-17 15:51             ` Thomas Gleixner
2015-07-17 15:51             ` Thomas Gleixner
2015-07-17 15:51             ` Thomas Gleixner
2015-07-15 14:38 ` Christoph Lameter
2015-07-15 14:38   ` Christoph Lameter
2015-07-15 14:38   ` Christoph Lameter
2015-07-15 14:56 ` Marc Zyngier [this message]
2015-07-15 14:56   ` [Ksummit-discuss] " Marc Zyngier
2015-07-15 14:56   ` Marc Zyngier
2015-07-15 16:05 ` Michael S. Tsirkin
2015-07-15 16:05   ` Michael S. Tsirkin
2015-07-15 16:05   ` Michael S. Tsirkin
2015-07-15 16:05   ` Michael S. Tsirkin
2015-10-12 16:09 ` Theodore Ts'o
2015-10-12 16:09   ` Theodore Ts'o
2015-10-12 16:09   ` Theodore Ts'o
2015-10-12 18:41   ` Christoph Hellwig
2015-10-12 18:41     ` Christoph Hellwig
2015-10-14 15:56     ` Theodore Ts'o
2015-10-14 15:56       ` Theodore Ts'o
2015-10-14 15:56       ` Theodore Ts'o

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=55A6749E.7040803@arm.com \
    --to=marc.zyngier@arm.com \
    --cc=hch@infradead.org \
    --cc=ksummit-discuss@lists.linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-nvme@lists.infradead.org \
    --cc=linux-rdma@vger.kernel.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.