All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Marzinski <bmarzins@redhat.com>
To: John Stoffel <john@stoffel.org>
Cc: device-mapper development <dm-devel@redhat.com>,
	Martin Wilck <Martin.Wilck@suse.com>
Subject: Re: [PATCH 10/15] libmultipath: change how the checker async is set
Date: Tue, 21 Jan 2020 06:49:49 -0600	[thread overview]
Message-ID: <20200121124949.GU30153@octiron.msp.redhat.com> (raw)
In-Reply-To: <24102.2942.443422.59933@quad.stoffel.home>

On Mon, Jan 20, 2020 at 03:20:14PM -0500, John Stoffel wrote:
> >>>>> "Benjamin" == Benjamin Marzinski <bmarzins@redhat.com> writes:
> 
> Benjamin> On Sat, Jan 18, 2020 at 12:43:49PM -0500, John Stoffel wrote:
> >> >>>>> "Benjamin" == Benjamin Marzinski <bmarzins@redhat.com> writes:
> >> 
> Benjamin> The way that the checkers async mode worked in multipathd didn't make
> Benjamin> much sense. When multipathd starts up, all checker classes are in the
> Benjamin> sync mode, and any pathinfo() calls on devices would run the checker in
> Benjamin> sync mode. However, the First time a checker class was used in
> Benjamin> checkerloop, it would set that checker class to async (assuming
> Benjamin> force_sync wasn't set).  After that, no matter when a checker from that
> Benjamin> class was called, it would always run in async mode.  Multipathd doesn't
> Benjamin> need to run checkers in sync mode at all, so don't.
> >> 
> >> Sorry, I had a hard time parsing this description, especially the last
> >> sentence.  Do you mean that checkers should default to async then,
> >> instead of sync mode?  And from looking at the code, don't you mean
> >> that you force sync mode?  I guess the question is whether checker
> >> classes should default sync, or async.  And if they move to async,
> >> should they stay there?
> >> 
> 
> Benjamin> Sorry. I mean that right now multipathd runs the checkers from pathinfo(),
> Benjamin> wait_for_pending_paths() and check_path(). When multipathd starts, all
> Benjamin> checkers are in sync mode. The first time a checker is run from
> Benjamin> check_path(), it is switched to async mode, and stays there for the rest
> Benjamin> of the time multipathd is runing.
> 
> Benjamin> There is no need for multipathd to run checkers in sync mode at all, so
> Benjamin> we shouldn't be doing so for these first checks.
> 
> Thanks, that makes the entire issue much more clear.  This raises the
> question of why there is a sync mode at all then?  In any case, the
> above makes the issue more understandable.

The multipath command, which uses the same checkers, runs in sync mode.

-Ben

> 
> John

  reply	other threads:[~2020-01-21 12:49 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-17  2:18 [PATCH 00/15] Multipath patch dump Benjamin Marzinski
2020-01-17  2:18 ` [PATCH 01/15] multipathd: warn when configuration has been changed Benjamin Marzinski
2020-01-17 15:45   ` Martin Wilck
2020-01-22 11:59     ` Benjamin Marzinski
2020-01-17 15:51   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 02/15] libmultipath: fix leak in foreign code Benjamin Marzinski
2020-01-17 15:50   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 03/15] Fix leak in mpathpersist Benjamin Marzinski
2020-01-17 15:53   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 04/15] libmultipath: remove unused path->prio_args Benjamin Marzinski
2020-01-17 15:55   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 05/15] libmultipath: constify get_unaligned_be* Benjamin Marzinski
2020-01-17 15:57   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 06/15] libmultipath: add missing hwe mpe variable merges Benjamin Marzinski
2020-01-17 16:04   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 07/15] libmultipath: fix sgio_get_vpd looping Benjamin Marzinski
2020-01-17 16:27   ` Martin Wilck
2020-01-20 16:59     ` Benjamin Marzinski
2020-01-17  2:18 ` [PATCH 08/15] libmultipath: add vend_id to get_vpd_sgio Benjamin Marzinski
2020-01-17 16:58   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 09/15] libmultipath: add code to get vendor specific vpd data Benjamin Marzinski
2020-01-17 16:56   ` Martin Wilck
2020-01-22  8:51     ` Benjamin Marzinski
2020-01-22 11:52       ` Martin Wilck
2020-01-22 12:20         ` Benjamin Marzinski
2020-01-18 17:34   ` John Stoffel
2020-01-22  9:46     ` Benjamin Marzinski
2020-01-17  2:18 ` [PATCH 10/15] libmultipath: change how the checker async is set Benjamin Marzinski
2020-01-17 17:02   ` Martin Wilck
2020-01-17 17:04   ` Martin Wilck
2020-01-18 17:43   ` John Stoffel
2020-01-20 15:07     ` Benjamin Marzinski
2020-01-20 20:20       ` John Stoffel
2020-01-21 12:49         ` Benjamin Marzinski [this message]
2020-01-21 20:13           ` John Stoffel
2020-01-17  2:18 ` [PATCH 11/15] libmultipath: change failed path prio timeout Benjamin Marzinski
2020-01-17 17:18   ` Martin Wilck
2020-01-20 16:22     ` Benjamin Marzinski
2020-01-17  2:18 ` [PATCH 12/15] multipathd: add new paths under vecs lock Benjamin Marzinski
2020-01-17 17:39   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 13/15] libmultipath: add new checker class functions Benjamin Marzinski
2020-01-17 17:41   ` Martin Wilck
2020-01-17  2:18 ` [PATCH 14/15] libmultipath: make directio checker share io contexts Benjamin Marzinski
2020-01-20  8:09   ` Martin Wilck
2020-01-20 16:08     ` Benjamin Marzinski
2020-01-21  8:55       ` Martin Wilck
2020-01-17  2:18 ` [PATCH 15/15] tests: add directio unit tests Benjamin Marzinski
2020-01-20  8:27   ` Martin Wilck
2020-01-20 15:25     ` Benjamin Marzinski

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=20200121124949.GU30153@octiron.msp.redhat.com \
    --to=bmarzins@redhat.com \
    --cc=Martin.Wilck@suse.com \
    --cc=dm-devel@redhat.com \
    --cc=john@stoffel.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.