Re: [PATCH 3/3] Add timeout feature

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: jim owens
Date: Monday, July 14, 2008 - 7:04 am

Takashi Sato wrote:


TIMEOUT is a user-specified limit for the freeze.  It is
not a deadlock preventer or deadlock breaker.  The reason
it exists is:

    - middle of the night (low but not zero users)
    - cron triggers freeze and hardware snapshot
    - san is overloaded by tape copy traffic so
      hardware will take 2 hours to ack snapshot done
    - user "company president" tries to create a report
      needed for an AM meeting with bankers
    - with so few users, system will just patiently
      wait for hardware to finish
    - after 10 minutes "company president" pages
      admin, admin's boss, and "IT vice president"
      in a real unhappy mood

AUTO-THAW is simply a name for the effect of all deadlock
preventer and deadlock breaker code that the kernel has
in the freeze implementation paths... if that code would
unfreeze the filesystem.  We also implemented deadlock
preventer code that does not thaw the freeze.

None of the AUTO-THAW code is there to stop a stupid
userspace program caller of freeze.  It handles things
like "a system in our cluster is going down so we
must have this filesystem unfrozen or the whole
cluster will crash".   In places where there could be
a kernel deadlock we made it "lock-only-if-non-blocking"
and if we could not wait to retry later, the failure
to lock would trigger an immediate unfreeze.

Deadlock prevention needs code in critical paths in more
than just filesystems.  Sometimes this is as simple as
an "I can't wait on freeze" flag added to a vm-filesystem
interface.

Timers just don't work for keeping the kernel alive
because they don't trigger on resource exhaustion.

jim
--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 3/3] Add timeout feature, Takashi Sato, (Mon Jun 30, 5:24 am)
Re: [PATCH 3/3] Add timeout feature, Christoph Hellwig, (Tue Jul 1, 1:10 am)
Re: [dm-devel] Re: [PATCH 3/3] Add timeout feature, Alasdair G Kergon, (Tue Jul 1, 3:52 am)
Re: [dm-devel] Re: [PATCH 3/3] Add timeout feature, Takashi Sato, (Thu Jul 3, 5:11 am)
Re: [dm-devel] Re: [PATCH 3/3] Add timeout feature, Alasdair G Kergon, (Thu Jul 3, 5:47 am)
Re: [dm-devel] Re: [PATCH 3/3] Add timeout feature, Eric Sandeen, (Thu Jul 3, 7:45 am)
Re: [dm-devel] Re: [PATCH 3/3] Add timeout feature, Dave Chinner, (Thu Jul 3, 3:11 pm)
Re: [dm-devel] Re: [PATCH 3/3] Add timeout feature, Takashi Sato, (Fri Jul 4, 5:08 am)
Re: [PATCH 3/3] Add timeout feature, Pavel Machek, (Mon Jul 7, 4:07 am)
Re: [PATCH 3/3] Add timeout feature, Dave Chinner, (Tue Jul 8, 4:10 pm)
Re: [PATCH 3/3] Add timeout feature, Pavel Machek, (Tue Jul 8, 4:20 pm)
Re: [PATCH 3/3] Add timeout feature, Dave Chinner, (Tue Jul 8, 5:52 pm)
Re: [PATCH 3/3] Add timeout feature, Theodore Tso, (Tue Jul 8, 6:09 pm)
Re: [PATCH 3/3] Add timeout feature, Brad Boyer, (Tue Jul 8, 9:21 pm)
Re: [PATCH 3/3] Add timeout feature, Miklos Szeredi, (Tue Jul 8, 11:13 pm)
Re: [PATCH 3/3] Add timeout feature, Christoph Hellwig, (Tue Jul 8, 11:16 pm)
Re: [PATCH 3/3] Add timeout feature, Miklos Szeredi, (Tue Jul 8, 11:22 pm)
Re: [PATCH 3/3] Add timeout feature, Arjan van de Ven, (Tue Jul 8, 11:41 pm)
Re: [PATCH 3/3] Add timeout feature, Miklos Szeredi, (Tue Jul 8, 11:48 pm)
Re: [PATCH 3/3] Add timeout feature, Arjan van de Ven, (Tue Jul 8, 11:55 pm)
Re: [PATCH 3/3] Add timeout feature, Dave Chinner, (Tue Jul 8, 11:59 pm)
Re: [PATCH 3/3] Add timeout feature, Miklos Szeredi, (Wed Jul 9, 12:08 am)
Re: [PATCH 3/3] Add timeout feature, Miklos Szeredi, (Wed Jul 9, 12:13 am)
Re: [PATCH 3/3] Add timeout feature, Dave Chinner, (Wed Jul 9, 12:13 am)
Re: [PATCH 3/3] Add timeout feature, Dave Chinner, (Wed Jul 9, 12:33 am)
Re: [PATCH 3/3] Add timeout feature, Miklos Szeredi, (Wed Jul 9, 1:11 am)
Re: [PATCH 3/3] Add timeout feature, Theodore Tso, (Wed Jul 9, 4:09 am)
Re: [PATCH 3/3] Add timeout feature, Dave Chinner, (Wed Jul 9, 4:15 am)
Re: [PATCH 3/3] Add timeout feature, Dave Chinner, (Wed Jul 9, 4:49 am)
Re: [PATCH 3/3] Add timeout feature, Theodore Tso, (Wed Jul 9, 5:24 am)
Re: [PATCH 3/3] Add timeout feature, Olaf , (Wed Jul 9, 5:59 am)
Re: [PATCH 3/3] Add timeout feature, Arjan van de Ven, (Wed Jul 9, 6:53 am)
Re: [PATCH 3/3] Add timeout feature, Arjan van de Ven, (Wed Jul 9, 6:55 am)
Re: [PATCH 3/3] Add timeout feature, Arjan van de Ven, (Wed Jul 9, 6:57 am)
Re: [PATCH 3/3] Add timeout feature, jim owens, (Wed Jul 9, 6:58 am)
Re: [PATCH 3/3] Add timeout feature, jim owens, (Wed Jul 9, 7:13 am)
Re: [PATCH 3/3] Add timeout feature, Pavel Machek, (Wed Jul 9, 1:44 pm)
Re: [PATCH 3/3] Add timeout feature, Pavel Machek, (Wed Jul 9, 1:48 pm)
Re: [PATCH 3/3] Add timeout feature, Pavel Machek, (Sun Jul 13, 5:06 am)
Re: [PATCH 3/3] Add timeout feature, jim owens, (Sun Jul 13, 10:15 am)
Re: [PATCH 3/3] Add timeout feature, Pavel Machek, (Sun Jul 13, 11:36 pm)
Re: [PATCH 3/3] Add timeout feature, Takashi Sato, (Mon Jul 14, 6:12 am)
Re: [PATCH 3/3] Add timeout feature, jim owens, (Mon Jul 14, 6:17 am)
Re: [PATCH 3/3] Add timeout feature, jim owens, (Mon Jul 14, 7:04 am)