[dm-devel] 2.6.2-udm2

Lars Marowsky-Bree lmb at suse.de
Wed Feb 18 07:14:00 UTC 2004


On 2004-02-18T13:01:29,
   Heinz Mauelshagen <mauelshagen at redhat.com> said:

> > - The test interval is no longer passed in with the target
> > parameters (tools writers take note.
> > 
> > - The kernel now does no path testing at all, let userland do it
> > (see thread on lkml).
> 
> I'm not convinced that we can recover from OOM situations with either
> approach (userpace testing or dm testing of failed paths).

I'm thinking that if you have run yourself into such a failure - ie all
paths currently down, swap on the failed m-p device, OOM _and_ needing
to allocate memory / swapping - the system is in a very very sick state
anyway. Handling it perfectly may just not be possible.

> But if *all* paths of the multipath target to test are failed *and*
> the system is OOM, the driver accessed to queue the test io can sleep
> on allocating memory (either calling [kv]malloc() directly or
> indirectly through mempools).
> 
> That memory allocation is in danger to deadlock, because pageouts are
> needed involving the very multipathed target we want to unfail.
> 
> The 'workaround' for this which is reloading the table in order to set
> all paths to operational again would involve memory allocation as well
> :(

Yes. I actually see no way around this, except to tap into a general
'emergency' memory pool. I thought there was something like it, but I
forgot the name ;-) Doesn't pvmove use the same?


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

-- 
High Availability & Clustering	      \ ever tried. ever failed. no matter.
SUSE Labs			      | try again. fail again. fail better.
Research & Development, SUSE LINUX AG \ 	-- Samuel Beckett




More information about the dm-devel mailing list