From: keith.busch@intel.com (Keith Busch)
Subject: [RFC] NVMe Configuraiton using sysctl
Date: Mon, 15 May 2017 10:44:39 -0400 [thread overview]
Message-ID: <20170515144439.GA28520@localhost.localdomain> (raw)
In-Reply-To: <f4e5a2bd-9e41-8025-31a9-9bcadd2468c3@grimberg.me>
On Mon, May 15, 2017@12:15:28PM +0300, Sagi Grimberg wrote:
>
> > > Hi,
>
> Hi Oza,
>
> > > we are configuring interrupt coalesce for NVMe, but right now, it uses
> > > module param.
> > > so the same interrupt coalesce settings get applied for all the NVMEs
> > > connected to different RCs.
> > >
> > > ideally it should be with sysctl.
>
> If at all, I would place this in nvme-cli (via ioctl) instead of
> sysctl.
That's also how I currently recommend testing this feature out. A problem
with that, though, is the feature isn't persistent across controller
resets, so the setting could be reverted without the user knowing.
> > > for e.g.
> > > sysctl should provide interface to change
> > > Per-CPU IO queue pairs, interrupt coalesce settings etc..
>
> My personal feeling is that percpu granularity is a lot to take in for
> the user, and also can yield some unexpected performance
> characteristics. But I might be wrong here..
We currently use the IRQ affinity spread to get good default pairings.
It's possible to decouple that, but let's hear what about the default
setting isn't optimal before exposing additional knobs. More user tunables
just means one of us will get to frequently re-explain how to use it!
> > > please suggest if we could have/implement sysctl module for NVMe ?
>
> I have asked this before, but interrupt coalescing has very little
> merit without being able to be adaptive. net drivers maintain online
> stats and schedule interrupt coalescing modifications.
>
> Should work in theory, but having said that, interrupt coalescing as a
> whole is essentially unusable in nvme since the coalescing time limit
> is in units of 100us increments...
Yeah, as it is defined, the low depth work-load latency does suffer
quite a bit. If the user only cares about IOPs, though, we find that
coalescing is necessary for some workloads to hit the peak capabilities.
prev parent reply other threads:[~2017-05-15 14:44 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-05-15 8:34 [RFC] NVMe Configuraiton using sysctl Oza Oza
2017-05-15 8:39 ` Oza Oza
2017-05-15 9:15 ` Sagi Grimberg
2017-05-15 10:59 ` Oza Oza
2017-05-15 14:44 ` Keith Busch [this message]
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=20170515144439.GA28520@localhost.localdomain \
--to=keith.busch@intel.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