public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Jes Sorensen <jsorensen@fb.com>
Cc: Sagi Grimberg <sagi@grimberg.me>,
	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: mlx5 broken affinity
Date: Wed, 8 Nov 2017 18:33:34 +0100 (CET)	[thread overview]
Message-ID: <alpine.DEB.2.20.1711081822450.1937@nanos> (raw)
In-Reply-To: <67a1157e-06e7-479c-993e-bdf42fd613c6@fb.com>

On Wed, 8 Nov 2017, Jes Sorensen wrote:
> On 11/07/2017 10:07 AM, Thomas Gleixner wrote:
> > On Sun, 5 Nov 2017, Sagi Grimberg wrote:
> >> I do agree that the user would lose better cpu online/offline behavior,
> >> but it seems that users want to still have some control over the IRQ
> >> affinity assignments even if they lose this functionality.
> > 
> > Depending on the machine and the number of queues this might even result in
> > completely losing the ability to suspend/hibernate because the number of
> > available vectors on CPU0 is not sufficient to accomodate all queue
> > interrupts.
> 
> Depending on the system, suspend/resume is really the lesser interesting
> issue to the user. Pretty much any system with a 10/25GBps mlx5 NIC in
> it will be in some sort of rack and is unlikely to ever want to
> suspend/resume.

The discussions with Intel about that tell a different story and cpu
online/offline for power management purposes is - while debatable - widely
used.

That's where the whole idea for managed affinities originated from along
with avoiding the affinity hint and affinity notifier machinery which
creates more problems than it solves.

> >> Would it be possible to keep the managed facility until a user overrides
> >> an affinity assignment? This way if the user didn't touch it, we keep
> >> all the perks, and in case the user overrides it, we log the implication
> >> so the user is aware?
> > 
> > A lot of things are possible, the question is whether it makes sense. The
> > whole point is to have resources (queues, interrupts etc.) per CPU and have
> > them strictly associated.
> > 
> > Why would you give the user a knob to destroy what you carefully optimized?
> > 
> > Just because we can and just because users love those knobs or is there any
> > real technical reason?
> 
> Because the user sometimes knows better based on statically assigned
> loads, or the user wants consistency across kernels. It's great that the
> system is better at allocating this now, but we also need to allow for a
> user to change it. Like anything on Linux, a user wanting to blow off
> his/her own foot, should be allowed to do so.

That's fine, but that's not what the managed affinity facility provides. If
you want to leverage the spread mechanism, but avoid the managed part, then
this is a different story and we need to figure out how to provide that
without breaking the managed side of it.

As I said it's possible, but I vehemently disagree, that this is a bug in
the core code, as it was claimed several times in this thread.

The real issue is that the driver was converted to something which was
expected to behave differently. That's hardly a bug in the core code, at
most it's a documentation problem.

Thanks,

	tglx

  reply	other threads:[~2017-11-08 17:33 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 [this message]
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
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.1711081822450.1937@nanos \
    --to=tglx@linutronix.de \
    --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