From: Thomas Gleixner <tglx@linutronix.de>
To: Sagi Grimberg <sagi@grimberg.me>
Cc: Jens Axboe <axboe@fb.com>, Jes Sorensen <jsorensen@fb.com>,
Tariq Toukan <tariqt@mellanox.com>,
Saeed Mahameed <saeedm@dev.mellanox.co.il>,
Networking <netdev@vger.kernel.org>,
Leon Romanovsky <leonro@mellanox.com>,
Saeed Mahameed <saeedm@mellanox.com>,
Kernel Team <kernel-team@fb.com>, Christoph Hellwig <hch@lst.de>
Subject: Re: [RFD] Managed interrupt affinities [ Was: mlx5 broken affinity ]
Date: Tue, 14 Nov 2017 11:15:10 +0100 (CET) [thread overview]
Message-ID: <alpine.DEB.2.20.1711141107460.2044@nanos> (raw)
In-Reply-To: <ab819459-0e5b-e50b-a0b2-cc46fbc42674@grimberg.me>
On Mon, 13 Nov 2017, Sagi Grimberg wrote:
> > > Can you explain what do you mean by "subsystem"? I thought that the
> > > subsystem would be the irq subsystem (which means you are the one to
> > > provide
> > > the needed input :) ) and the driver would pass in something
> > > like msi_irq_ops to pci_alloc_irq_vectors() if it supports the driver
> > > requirements that you listed and NULL to tell the core to leave it alone
> > > and do what it sees fit (or pass msi_irq_ops with flag that means that).
> > >
> > > ops structure is a very common way for drivers to communicate with a
> > > subsystem core.
> >
> > So if you look at the above pseudo code then the subsys_*_move_callbacks
> > are probably subsystem specific, i.e. block or networking.
> >
> > Those subsystem callbacks might either handle it at the subsystem level
> > directly or call into the particular driver.
>
> Personally I do not think that integrating this to networking/block
> stacks in that level is going to work. drivers don't communicate any
> information on what they do with msi(x) vectors (and I'm not sure they
> should).
The callback does not need to transport any information about the interrupt
itself. The driver associates the interrupt to a queue and that queue _is_
known at the subsystem level. So a queue cookie can be handed in along with
the callback information.
I think that the subsystem, e.g. block should handle parts of this, at
least the generic driver independent management of the queue, i.e.
- Marking the queue as closed so no new requests can be queued
anymore. Having this at the driver level seems to be a layering
violation.
- Making sure that the outstanding requests are completed. That needs
driver support for sure, but OTOH the subsystem should know about
outstanding requests.
- Marking the queue as open again. Again that's mostly subsystem level.
Thanks,
tglx
next prev parent reply other threads:[~2017-11-14 10:15 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-01 16:19 mlx5 broken affinity Jes Sorensen
2017-11-01 17:21 ` Sagi Grimberg
2017-11-01 18:20 ` Jes Sorensen
2017-11-01 22:41 ` Saeed Mahameed
2017-11-01 23:02 ` Jes Sorensen
2017-11-02 8:28 ` Tariq Toukan
2017-11-02 10:08 ` Sagi Grimberg
2017-11-02 12:13 ` Andrew Lunn
2017-11-02 14:48 ` Jes Sorensen
2017-11-02 16:14 ` Sagi Grimberg
2017-11-02 17:13 ` Jes Sorensen
2017-11-02 18:10 ` Thomas Gleixner
2017-11-05 8:36 ` Sagi Grimberg
2017-11-07 15:07 ` Thomas Gleixner
2017-11-08 7:27 ` Sagi Grimberg
2017-11-08 12:21 ` David Laight
2017-11-08 16:13 ` Jens Axboe
2017-11-09 10:09 ` Christoph Hellwig
2017-11-09 15:18 ` Jens Axboe
2017-11-09 15:08 ` Saeed Mahameed
2017-11-09 15:40 ` Sagi Grimberg
2017-11-08 16:19 ` Jes Sorensen
2017-11-08 17:33 ` Thomas Gleixner
2017-11-09 10:50 ` Sagi Grimberg
2017-11-09 14:19 ` Thomas Gleixner
2017-11-09 15:21 ` Jens Axboe
2017-11-09 17:03 ` Thomas Gleixner
2017-11-09 20:11 ` Jens Axboe
2017-11-09 21:23 ` Thomas Gleixner
2017-11-09 21:30 ` Jens Axboe
2017-11-09 21:42 ` [RFD] Managed interrupt affinities [ Was: mlx5 broken affinity ] Thomas Gleixner
2017-11-10 5:56 ` Saeed Mahameed
2017-11-10 13:03 ` Thomas Gleixner
2017-11-13 19:20 ` Sagi Grimberg
2017-11-13 20:51 ` Thomas Gleixner
2017-11-13 21:13 ` Sagi Grimberg
2017-11-13 21:33 ` Thomas Gleixner
2017-11-13 21:49 ` Sagi Grimberg
2017-11-14 10:15 ` Thomas Gleixner [this message]
2017-11-09 16:01 ` mlx5 broken affinity Sagi Grimberg
2017-11-09 16:09 ` Jens Axboe
2017-11-09 17:07 ` Thomas Gleixner
2017-11-09 20:12 ` Jens Axboe
2017-11-09 21:25 ` Thomas Gleixner
2017-11-09 15:19 ` Jens Axboe
2017-11-09 22:03 ` Jes Sorensen
2017-11-02 7:57 ` Sagi Grimberg
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=alpine.DEB.2.20.1711141107460.2044@nanos \
--to=tglx@linutronix.de \
--cc=axboe@fb.com \
--cc=hch@lst.de \
--cc=jsorensen@fb.com \
--cc=kernel-team@fb.com \
--cc=leonro@mellanox.com \
--cc=netdev@vger.kernel.org \
--cc=saeedm@dev.mellanox.co.il \
--cc=saeedm@mellanox.com \
--cc=sagi@grimberg.me \
--cc=tariqt@mellanox.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox