All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hannes Reinecke <hare@suse.de>
To: Mike Snitzer <snitzer@redhat.com>
Cc: Junichi Nomura <j-nomura@ce.jp.nec.com>,
	"dm-devel@redhat.com" <dm-devel@redhat.com>,
	Alasdair Kergon <agk@redhat.com>
Subject: Re: [PATCH 4/7] dm mpath: remove process_queued_ios()
Date: Tue, 11 Feb 2014 10:46:50 +0100	[thread overview]
Message-ID: <52F9F18A.9000309@suse.de> (raw)
In-Reply-To: <20140210133046.GA19209@redhat.com>

On 02/10/2014 02:30 PM, Mike Snitzer wrote:
> On Tue, Feb 04 2014 at  6:31am -0500,
> Hannes Reinecke <hare@suse.de> wrote:
> 
>> On 02/04/2014 12:26 PM, Junichi Nomura wrote:
>>> On 02/04/14 19:54, Hannes Reinecke wrote:
>>>> We only need to take care to add a small delay when calling
>>>> __pg_init_all_paths() to move processing off to a workqueue; otherwise
>>>> pg_init_done() might end up calling scsi_dh_activate() directly, which
>>>> might use non-atomic memory allocations or issue I/O.
>>>
>>> Hi Hannes,
>>>
>>> could you tell me how "might end up calling scsi_dh_active()" happens?
>>>
>>>   queue_delayed_work()
>>>     queue_delayed_work_on()
>>>       __queue_delayed_work()
>>>         if (!delay)
>>>           __queue_work()
>>>             get_work_pool()
>>>             insert_work()
>>>               set_work_pwq()
>>>               get_pwq()
>>>               if (__need_more_worker())
>>>                 wake_up_worker()
>>>
>>> queue_work() doesn't execute the work itself.
>>>
>>> What am I missing?
>>>
>> As mentioned, I stumbled across the same issue when developing the
>> asynchronous SCSI aborts. I'll see to have it recreated with this
>> patchset.
> 
> Just to verify, this seems to be the only outstanding question for this
> patchset?
> 
> What value are you using for HZ?  If this portion of the change does
> turn out to be meaningul: Rather than tieing to HZ should we just use an
> explicitly non-zero value for __pg_init_all_paths()'s @min_delay?
> 
The actual amount here is irrelevant, as long as it's non-zero.
It's just there to force execution of the work item off the current
thread.

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		      zSeries & Storage
hare@suse.de			      +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)

  reply	other threads:[~2014-02-11  9:46 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-04 10:54 [PATCHv7 0/7] dm-multipath: push back requests instead of queueing Hannes Reinecke
2014-02-04 10:54 ` [PATCH 1/7] dm mpath: do not call pg_init when it is already running Hannes Reinecke
2014-02-04 10:54 ` [PATCH 2/7] dm table: add dm_table_run_md_queue_async Hannes Reinecke
2014-02-04 10:54 ` [PATCH 3/7] dm mpath: push back requests instead of queueing Hannes Reinecke
2014-02-04 10:54 ` [PATCH 4/7] dm mpath: remove process_queued_ios() Hannes Reinecke
2014-02-04 11:26   ` Junichi Nomura
2014-02-04 11:31     ` Hannes Reinecke
2014-02-10 13:30       ` Mike Snitzer
2014-02-11  9:46         ` Hannes Reinecke [this message]
2014-02-11 15:55           ` Mike Snitzer
2014-02-11 18:03             ` Hannes Reinecke
2014-02-11 16:29               ` Mike Snitzer
2014-02-12  2:37         ` Junichi Nomura
2014-02-04 10:54 ` [PATCH 5/7] dm mpath: reduce memory pressure when requeuing Hannes Reinecke
2014-02-04 10:54 ` [PATCH 6/7] dm mpath: remove map_io() Hannes Reinecke
2014-02-04 10:54 ` [PATCH 7/7] dm mpath: remove extra nesting in map function Hannes Reinecke
  -- strict thread matches above, loose matches on Subject: below --
2014-02-03 20:28 [PATCH v6 0/7] dm-multipath: push back requests instead of queueing Mike Snitzer
2014-02-03 20:28 ` [PATCH 4/7] dm mpath: remove process_queued_ios() Mike Snitzer
2014-02-04  3:24   ` Junichi Nomura
2014-02-04  8:18     ` Hannes Reinecke
2014-02-04  8:55       ` Junichi Nomura
2014-02-04  9:08         ` Hannes Reinecke
2014-02-04  9:27           ` Junichi Nomura
2014-02-04  9:45             ` 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=52F9F18A.9000309@suse.de \
    --to=hare@suse.de \
    --cc=agk@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=j-nomura@ce.jp.nec.com \
    --cc=snitzer@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.