From: Hannes Reinecke <hare@suse.de>
To: dm-devel@redhat.com
Subject: Re: [PATCH 01/18] libmultipath: Add prioritizer context data
Date: Thu, 22 Oct 2015 07:47:49 +0200 [thread overview]
Message-ID: <56287885.6070706@suse.de> (raw)
In-Reply-To: <20151021221606.GW2872@octiron.msp.redhat.com>
On 10/22/2015 12:16 AM, Benjamin Marzinski wrote:
> On Mon, Oct 12, 2015 at 08:35:22AM +0200, Hannes Reinecke wrote:
>> On 10/08/2015 09:44 PM, Benjamin Marzinski wrote:
>>> Currently, running the alua prioritizer on a path causes 5 ioctls on many
>>> devices. get_target_port_group_support() returns whether alua is
>>> supported. get_target_port_group() gets the TPG id. This often takes two
>>> ioctls because 128 bytes is not a large enough buffer size on many
>>> devices. Finally, get_asymmetric_access_state() also often takes two
>>> ioctls because of the buffer size. This can get to be problematic when
>>> there are thousands of paths. The goal of this patch to to cut this down
>>> to one call in the usual case.
>>>
>>> In order to do this, I've added a context pointer to the prio structure,
>>> similar to what exists for the checker structure, and initprio() and
>>> freeprio() functions to the prioritizers. The only one that currently uses
>>> these is the alua prioritizer. It caches the type of alua support, the TPG
>>> id, and the necessary buffer size. The only thing I'm worried about with
>>> this patch is whether the first two values could change. In order to deal
>>> with that possibility, whenever a path gets a change event, or becomes
>>> valid again after a failure, it resets the context structure values, which
>>> forces all of them to get checked the next time the prioritizer is called.
>>>
>> Hmm. What about reading /sys/block/sdX/device/vpg_pg83 ?
>> That carries the same information, and you would need to call the
>> ioctl only once ...
>
> Sure. If you want to write a patch, that would be fine by me. But I
> still think caching the result, so you don't need to rerun this makes
> sense.
>
Well ... the information is already cached in sysfs; I doubt read()
is that much of an overhead.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
next prev parent reply other threads:[~2015-10-22 5:47 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-10-08 19:44 [PATCH 00/18] multipath patch sync Benjamin Marzinski
2015-10-08 19:44 ` [PATCH 01/18] libmultipath: Add prioritizer context data Benjamin Marzinski
2015-10-12 6:35 ` Hannes Reinecke
2015-10-21 22:16 ` Benjamin Marzinski
2015-10-22 5:47 ` Hannes Reinecke [this message]
2015-10-08 19:44 ` [PATCH 02/18] fix memory leaks on realloc failures Benjamin Marzinski
2015-10-12 6:35 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 03/18] multipathd: use /run instead of /var/run Benjamin Marzinski
2015-10-12 6:37 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 04/18] retrigger uevents to try and get the uid through udev Benjamin Marzinski
2015-10-12 6:40 ` Hannes Reinecke
2015-10-21 22:20 ` Benjamin Marzinski
2015-10-08 19:44 ` [PATCH 05/18] update multipath rules to deal with partition devices Benjamin Marzinski
2015-10-12 6:42 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 06/18] change order of multipath.rules Benjamin Marzinski
2015-10-12 6:43 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 07/18] make kpartx -d remove all partitions Benjamin Marzinski
2015-10-12 6:46 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 08/18] Fix issues with user_friendly_names initramfs bindings Benjamin Marzinski
2015-10-15 8:52 ` Hannes Reinecke
2015-10-21 22:43 ` Benjamin Marzinski
2015-10-08 19:44 ` [PATCH 09/18] Make multipath deactivate devices before iscsi shutdown Benjamin Marzinski
2015-10-12 7:05 ` Hannes Reinecke
2015-10-21 22:29 ` Benjamin Marzinski
2015-10-08 19:44 ` [PATCH 10/18] resize reply buffer for mutipathd help message Benjamin Marzinski
2015-10-12 7:05 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 11/18] Add libmpathcmd library and use it internally Benjamin Marzinski
2015-10-12 7:06 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 12/18] add raw format multipathd commands Benjamin Marzinski
2015-10-12 7:06 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 13/18] libmultipath: add ignore_new_boot_devs option Benjamin Marzinski
2015-10-12 7:08 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 14/18] Make use of /run depend on systemd Benjamin Marzinski
2015-10-12 7:09 ` Hannes Reinecke
2015-10-12 7:34 ` Zdenek Kabelac
2015-10-12 8:35 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 15/18] libmpathpersist: uninstall man page correctly Benjamin Marzinski
2015-10-12 7:09 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 16/18] Increase host buffer size Benjamin Marzinski
2015-10-12 7:10 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 17/18] Fix sun partition numbering Benjamin Marzinski
2015-10-12 7:11 ` Hannes Reinecke
2015-10-08 19:44 ` [PATCH 18/18] Make multipath ignore devices without mpath prefix Benjamin Marzinski
2015-10-12 7:12 ` Hannes Reinecke
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=56287885.6070706@suse.de \
--to=hare@suse.de \
--cc=dm-devel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox