All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Snitzer <snitzer@redhat.com>
To: Mikulas Patocka <mpatocka@redhat.com>
Cc: dm-devel@redhat.com
Subject: Re: dm-mpath: do not change SCSI device handler
Date: Thu, 4 Apr 2013 10:20:48 -0400	[thread overview]
Message-ID: <20130404142048.GB10208@redhat.com> (raw)
In-Reply-To: <Pine.LNX.4.64.1304040918460.17024@file.rdu.redhat.com>

On Thu, Apr 04 2013 at  9:36am -0400,
Mikulas Patocka <mpatocka@redhat.com> wrote:

> 
> 
> On Thu, 4 Apr 2013, Mike Snitzer wrote:
> 
> > On Thu, Apr 04 2013 at  8:55am -0400,
> > Mikulas Patocka <mpatocka@redhat.com> wrote:
> > 
> > > 
> > > 
> > > On Thu, 4 Apr 2013, Mike Snitzer wrote:
> > > 
> > > > I'll take a look at fixing this by deferring the scsi_dh switch until
> > > > resume.  This fix would assume multipath-tools is _not_ doing a noflush
> > > > suspend/resume when it is switching the scsi_dh.
> > > > 
> > > > Mike
> > > 
> > > This won't work because scsi_dh_attach allocates memory and you can't 
> > > allocate memory when something is suspended.
> > 
> > Ah yeah, scsi_dh->attach allocates memory for scsi_dh_data.  But
> > couldn't those scsi_dh_* attach allocations be switched from GFP_KERNEL
> > to GFP_NOIO?
> 
> Yes and no.
> 
> GFP_NOIO allocations don't issue any IO, so they have higher possibility 
> of failure - if the memory is full of user space pages or dirty file pages 
> and there are no clean cache pages, then GFP_NOIO allocation can't make 
> any progress and fails. GFP_KERNEL allocation could swap out some pages 
> and succeed.
> 
> On the other hand, kernel developers use GFP_NOIO allocations and assume 
> that they don't fail. And they don't fail most of the time. Although I 
> have seen cases where it failed and caused trouble - when allocating 
> inodes with GFP_NOIO under high memory stress. (the correct solution would 
> be to allocate the inode with GFP_KERNEL earlier, when we are not holding 
> any filesystem lock).
> 
> >From the point of formal correctness, relying on GFP_NOIO is wrong, but if 
> the allocated space is small and it happens infrequently (only on 
> activation), you can likely get away with it without being caught.

I'm suggesting that switching the scsi_dh is not something that will be
done on a system that is suffering from serious memory contention.

But I think we need to get back to analyzing the scsi_dh change you
mentioned before with tracking counts, etc.

  reply	other threads:[~2013-04-04 14:20 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-04-03  0:04 [PATCH] dm-mpath: do not change SCSI device handler Mikulas Patocka
2013-04-03 13:32 ` Mike Snitzer
2013-04-03 20:54   ` Mikulas Patocka
2013-04-04  6:47 ` [PATCH] " Hannes Reinecke
2013-04-04 12:24   ` Mike Snitzer
2013-04-04 12:55     ` Mikulas Patocka
2013-04-04 13:16       ` Mike Snitzer
2013-04-04 13:36         ` Mikulas Patocka
2013-04-04 14:20           ` Mike Snitzer [this message]
2013-04-04 15:13             ` Mikulas Patocka
2013-04-04 15:38               ` Mikulas Patocka
2013-04-08 21:50         ` [PATCH 1/2] [SCSI] scsi_dh: add scsi_dh_alloc_data Mike Snitzer
2013-04-08 21:50           ` [PATCH 2/2] dm mpath: attach scsi_dh during table resume Mike Snitzer
2013-04-22 22:33             ` Mike Snitzer
2013-04-25 13:48               ` Mikulas Patocka
2013-04-25 14:17                 ` Mike Snitzer
2013-04-25 14:50                   ` Mikulas Patocka
2013-04-25 15:27                     ` Bryn M. Reeves
2013-04-25 15:37                       ` Mike Snitzer
2013-04-25 15:44                         ` Bryn M. Reeves
2013-04-25 15:31                     ` Mike Snitzer
2013-04-26  6:05                       ` Hannes Reinecke
2013-04-26 13:29                         ` Mike Snitzer

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=20130404142048.GB10208@redhat.com \
    --to=snitzer@redhat.com \
    --cc=dm-devel@redhat.com \
    --cc=mpatocka@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.