All of lore.kernel.org
 help / color / mirror / Atom feed
* New -udm?
@ 2005-04-10 19:29 Lars Marowsky-Bree
  2005-04-10 20:25 ` christophe varoqui
  0 siblings, 1 reply; 16+ messages in thread
From: Lars Marowsky-Bree @ 2005-04-10 19:29 UTC (permalink / raw)
  To: Alasdair G Kergon; +Cc: device-mapper development

Hi Alasdair,

I'm resync'ing against -udm and would like to pull all recent fixes if
possible. Do you have anything more recent than the 2.6.11-rc3-udm2?


Sincerely,
    Lars Marowsky-Brée <lmb@suse.de>

-- 
High Availability & Clustering
SUSE Labs, Research and Development
SUSE LINUX Products GmbH - A Novell Business

^ permalink raw reply	[flat|nested] 16+ messages in thread
* Re: New -udm?
@ 2005-04-11 17:36 goggin, edward
  2005-04-11 18:25 ` Mike Christie
  2005-04-11 22:56 ` Mike Christie
  0 siblings, 2 replies; 16+ messages in thread
From: goggin, edward @ 2005-04-11 17:36 UTC (permalink / raw)
  To: 'dm-devel@redhat.com'

On Mon, 11 Apr 2005 04:53:07 -0700
Mike Christie <mikenc@us.ibm.com>
> 
> Lars Marowsky-Bree wrote:
> > On 2005-04-11T02:27:11, Mike Christie <mikenc@us.ibm.com> wrote:
> > 
> > 
> >>what is wrong with what you have now where you utilize the 
> queue/path's 
> >>mempool by doing a blk_get_request with GFP_WAIT? 
> > 
> > 
> > ... what if it's trying to free memory by going to swap on 
> multipath,
> > and can't, because we're blocked on getting the request with
> > GFP_WAIT...?
> 
> GFP_WAIT does not casue IOs though. That is the difference between 
> waiing on GFP_KERNEL and GFP_WAIT I thought. GFP_KERNEL can 
> cause a page 
> write out which you wait on and then there is a problem since 
> it could 
> be to the same disk you are trying to recover. But if you are just 
> waiting for something to be returned to the mempool like with 
> GFP_WAIT + 
> blk_get_request you should be ok as long as the code below you 
> eventually give up their resources and frees the requests you are 
> waiting on?
>
 
A deterministic, fool-proof solution for this case must deal with
the possibility that in order to make progress, one cannot depend
that any memory resource which has previously been used will free
up -- because the freeing of that memory may be dependent on
making progress at this point.  Even using GFP_WAIT, it is possible
that all previously allocated bio (not sure about requests) mempool
resources needed are queued waiting for a multipath path to become
usable again.

I don't see a way around needing to use pre-allocated bio memory
which is reserved strictly for this purpose -- albeit it is possible
that a single bio could be reserved for making progress in serial
fashion across all multipaths which are in this state.

> > 
> > Your patch helps, because it means we need less memory.
> > 
> > But, ultimately, we ought to preallocate the requests 
> already when the
> > hw-handler is initialized for a map (because presumably at that time
> > we'll have enough memory, or can just fail the table 
> setup). From that
> > point on, our memory useage should not grow.
> >

^ permalink raw reply	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2005-04-11 22:56 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-04-10 19:29 New -udm? Lars Marowsky-Bree
2005-04-10 20:25 ` christophe varoqui
2005-04-10 23:36   ` Dave Olien
2005-04-10 23:36   ` Mike Christie
2005-04-11  1:14     ` Dave Olien
2005-04-11  8:46       ` Lars Marowsky-Bree
2005-04-11  9:27         ` Mike Christie
2005-04-11  9:34           ` Mike Christie
2005-04-11  9:56           ` Mike Christie
2005-04-11 11:43           ` Lars Marowsky-Bree
2005-04-11 11:53             ` Mike Christie
  -- strict thread matches above, loose matches on Subject: below --
2005-04-11 17:36 goggin, edward
2005-04-11 18:25 ` Mike Christie
2005-04-11 18:26   ` Mike Christie
2005-04-11 18:31   ` Mike Christie
2005-04-11 22:56 ` Mike Christie

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.