Linux Device Mapper development
 help / color / mirror / Atom feed
From: Xose Vazquez Perez <xose.vazquez@gmail.com>
To: Benjamin Marzinski <bmarzins@redhat.com>,
	device-mapper development <dm-devel@redhat.com>,
	Martin Wilck <mwilck@suse.com>,
	Christophe Varoqui <christophe.varoqui@opensvc.com>
Subject: Re: [RFC PATCH 0/5] alternate dmevents waiter method
Date: Thu, 8 Mar 2018 20:59:32 +0100	[thread overview]
Message-ID: <ee9141c2-7772-4a5c-7c86-612fc6ea0989@gmail.com> (raw)
In-Reply-To: <1518239251-29392-1-git-send-email-bmarzins@redhat.com>

On 02/10/2018 06:07 AM, Benjamin Marzinski wrote:

> This patchset implements a new method of getting dmevents for
> multipathd.
1-4/5 were Reviewed-by: Martin Wilck <mwilck@suse.com>.
And in 5/5, consensus was reached at the end: https://marc.info/?t=151823942200001
but they are t.

status?

> With the existing wait code, multipathd needs to create a waiter thread
> for every multipath device. This can become very wasteful in setups with
> large numbers of multipath devices. These duplicate threads all are
> serialized to update the multipath devices, so they don't actually speed
> up dmevent handling.
> 
> The new method uses the new dmevent polling ability introduced in the
> 4.37.0 device-mapper kernel module.  The original method has been
> retained for backwards compatablility, and it is possible to force
> multipathd to use the orignal method on newer kernels. The benefit of
> this new method is that there is only one thread necessary to wait on
> dmevents, which can be started when device-mapper starts, and stopped
> during shutdown, just like the other main threads.
> 
> These patches use device-mapper features that don't have a libdevmapper
> API.  They will switch over as soon as support is available in
> libdevmapper.
> 
> This patchset is based on top of my recent "[PATCH v2 0/7] multipath:
> miscellaneous bug fixes". It doesn't touch the tur checker, so changes
> to "[PATCH v2 1/7] libmultipath: fix tur checker locking" won't change
> anything in this set.
> 
> Benjamin Marzinski (5):
>   libmultipath: move remove_map waiter code to multipathd
>   move waiter code from libmultipath to multipathd
>   call start_waiter_thread() before setup_multipath()
>   libmultipath: add helper functions
>   multipathd: RFC add new polling dmevents waiter thread
> 
>  libmultipath/Makefile      |   2 +-
>  libmultipath/devmapper.c   |  28 +++-
>  libmultipath/devmapper.h   |   3 +-
>  libmultipath/structs_vec.c | 138 +---------------
>  libmultipath/structs_vec.h |   6 +-
>  libmultipath/vector.c      |  16 +-
>  libmultipath/vector.h      |   1 +
>  libmultipath/waiter.c      | 215 ------------------------
>  libmultipath/waiter.h      |  17 --
>  multipathd/Makefile        |   3 +-
>  multipathd/dmevents.c      | 396 +++++++++++++++++++++++++++++++++++++++++++++
>  multipathd/dmevents.h      |  13 ++
>  multipathd/main.c          | 194 ++++++++++++++++++++--
>  multipathd/waiter.c        | 215 ++++++++++++++++++++++++
>  multipathd/waiter.h        |  17 ++
>  15 files changed, 869 insertions(+), 395 deletions(-)
>  delete mode 100644 libmultipath/waiter.c
>  delete mode 100644 libmultipath/waiter.h
>  create mode 100644 multipathd/dmevents.c
>  create mode 100644 multipathd/dmevents.h
>  create mode 100644 multipathd/waiter.c
>  create mode 100644 multipathd/waiter.h
> 

  parent reply	other threads:[~2018-03-08 19:59 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-02-10  5:07 [RFC PATCH 0/5] alternate dmevents waiter method Benjamin Marzinski
2018-02-10  5:07 ` [RFC PATCH 1/5] libmultipath: move remove_map waiter code to multipathd Benjamin Marzinski
2018-02-10 16:15   ` Martin Wilck
2018-02-10  5:07 ` [RFC PATCH 2/5] move waiter code from libmultipath " Benjamin Marzinski
2018-02-10 16:16   ` Martin Wilck
2018-02-10  5:07 ` [RFC PATCH 3/5] call start_waiter_thread() before setup_multipath() Benjamin Marzinski
2018-02-10 17:43   ` Martin Wilck
2018-02-10  5:07 ` [RFC PATCH 4/5] libmultipath: add helper functions Benjamin Marzinski
2018-02-10 19:12   ` Martin Wilck
2018-02-10  5:07 ` [RFC PATCH 5/5] multipathd: RFC add new polling dmevents waiter thread Benjamin Marzinski
2018-02-10 19:55   ` Martin Wilck
2018-02-12 23:18     ` Benjamin Marzinski
2018-02-13  1:13       ` Alasdair G Kergon
2018-02-13  8:50       ` Martin Wilck
2018-02-13 16:49         ` Benjamin Marzinski
2018-02-13 19:55           ` Martin Wilck
2018-03-08 19:59 ` Xose Vazquez Perez [this message]
2018-03-08 20:08   ` [RFC PATCH 0/5] alternate dmevents waiter method Xose Vazquez Perez
2018-03-09 15:59     ` 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=ee9141c2-7772-4a5c-7c86-612fc6ea0989@gmail.com \
    --to=xose.vazquez@gmail.com \
    --cc=bmarzins@redhat.com \
    --cc=christophe.varoqui@opensvc.com \
    --cc=dm-devel@redhat.com \
    --cc=mwilck@suse.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