From: Martin Wilck <mwilck@suse.com>
To: Zdenek Kabelac <zkabelac@redhat.com>,
Hannes Reinecke <hare@suse.de>,
Benjamin Marzinski <bmarzins@redhat.com>
Cc: dm-devel@redhat.com, tang.junhui@zte.com.cn
Subject: Re: Improve processing efficiency for addition and deletion of multipath devices
Date: Tue, 29 Nov 2016 09:16:53 +0100 [thread overview]
Message-ID: <1480407413.7926.9.camel@suse.com> (raw)
In-Reply-To: <17134173-b9c9-456f-43f6-55f1fbd180ea@redhat.com>
On Tue, 2016-11-29 at 09:10 +0100, Zdenek Kabelac wrote:
> Dne 29.11.2016 v 09:02 Martin Wilck napsal(a):
> > On Tue, 2016-11-29 at 07:47 +0100, Hannes Reinecke wrote:
> > > On 11/28/2016 07:46 PM, Benjamin Marzinski wrote:
> > > > On Thu, Nov 24, 2016 at 10:21:10AM +0100, Martin Wilck wrote:
> > > > > On Fri, 2016-11-18 at 16:26 -0600, Benjamin Marzinski wrote:
> > > > >
> > > > > > At any rate, I'd rather get rid of the gazillion waiter
> > > > > > threads
> > > > > > first.
> > > > >
> > > > > Hm, I thought the threads are good because this avoids one
> > > > > unresponsive
> > > > > device to stall everything?
> > > >
> > > > There is work making dm events pollable, so that you can wait
> > > > for
> > > > any
> > > > number of them with one thread. At the moment, once we get an
> > > > event, we
> > > > lock the vecs lock, which pretty much keeps everything else
> > > > from
> > > > running, so this doesn't really change that.
> > > >
> > >
> > > Which again leads me to the question:
> > > Why are we waiting for dm events?
> > > The code handling them is pretty arcane, and from what I've seen
> > > there
> > > is nothing in there which we wouldn't be informed via other
> > > mechanisms
> > > (path checker, uevents).
> > > So why do we still bother with them?
> >
> > I was asking myself the same question. From my inspection of the
> > kernel
> > code, there are two code paths that trigger a dm event but no
> > uevent
> > (bypass_pg() and switch_pg_num(), both related to path group
> > switching). If these are covered by the path checker, I see no
> > point in
> > waiting for DM events. But of course, I may be missing something.
> >
>
> Processing of 'dm' events likely should be postponed to 'dmeventd' -
> which is a daemon resolving the problem here with waiting for an
> event.
>
> Plugin just takes the action.
>
> IMHO there is nothing easier you can have.
> It's then upto dmeventd to maintain the best 'connection' with kernel
> and events.
But that would simply move the "gazillion waiter threads" from
multipathd to dmeventd, right? And it would introduce another boot
sequence dependency for multipathd, I'm not sure if that's desirable.
Regards
Martin
--
Dr. Martin Wilck <mwilck@suse.com>, Tel. +49 (0)911 74053 2107
SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel
next prev parent reply other threads:[~2016-11-29 8:16 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-16 1:46 Improve processing efficiency for addition and deletion of multipath devices tang.junhui
2016-11-16 7:53 ` Hannes Reinecke
2016-11-16 8:45 ` tang.junhui
2016-11-16 9:49 ` Martin Wilck
2016-11-17 1:41 ` tang.junhui
2016-11-17 10:48 ` Martin Wilck
2016-11-18 1:02 ` tang.junhui
2016-11-18 7:39 ` Martin Wilck
2016-11-18 8:24 ` tang.junhui
2016-11-18 8:30 ` Martin Wilck
2016-11-18 8:56 ` tang.junhui
2016-11-18 9:12 ` tang.junhui
2016-11-21 18:19 ` Benjamin Marzinski
2016-11-18 22:26 ` Benjamin Marzinski
2016-11-23 1:08 ` tang.junhui
2016-11-29 9:07 ` Zdenek Kabelac
2016-11-29 10:13 ` tang.junhui
2016-11-24 9:21 ` Martin Wilck
2016-11-28 18:46 ` Benjamin Marzinski
2016-11-29 6:47 ` Hannes Reinecke
2016-11-29 8:02 ` Martin Wilck
2016-11-29 8:10 ` Zdenek Kabelac
2016-11-29 8:16 ` Martin Wilck [this message]
2016-11-29 8:24 ` Zdenek Kabelac
2016-11-29 17:25 ` Benjamin Marzinski
2016-11-29 7:57 ` Martin Wilck
2016-11-29 17:41 ` Benjamin Marzinski
-- strict thread matches above, loose matches on Subject: below --
2016-11-28 2:19 tang.junhui
2016-11-28 10:05 ` Hannes Reinecke
2016-11-28 16:07 ` Benjamin Marzinski
2016-11-28 16:26 ` Zdenek Kabelac
2016-11-28 10:06 ` Zdenek Kabelac
2016-11-28 10:42 ` Hannes Reinecke
2016-11-28 11:51 ` Zdenek Kabelac
2016-11-28 12:06 ` Peter Rajnoha
2016-11-28 12:08 ` Hannes Reinecke
2016-11-28 12:23 ` Peter Rajnoha
2016-11-28 12:55 ` Zdenek Kabelac
2016-11-28 17:22 ` Benjamin Marzinski
2016-11-29 9:34 ` Zdenek Kabelac
2016-11-28 10:28 ` Martin Wilck
2016-11-28 17:31 ` Benjamin Marzinski
2016-11-29 7:52 ` Martin Wilck
2016-11-29 19:21 ` Benjamin Marzinski
2016-11-28 15:25 ` Benjamin Marzinski
2016-11-28 15:37 ` Hannes Reinecke
2016-12-01 1:16 ` tang.junhui
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=1480407413.7926.9.camel@suse.com \
--to=mwilck@suse.com \
--cc=bmarzins@redhat.com \
--cc=dm-devel@redhat.com \
--cc=hare@suse.de \
--cc=tang.junhui@zte.com.cn \
--cc=zkabelac@redhat.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 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.