From: jim owens <jowens@hp.com>
To: Takashi Sato <t-sato@yk.jp.nec.com>
Cc: mtk.manpages@googlemail.com, axboe@kernel.dk,
linux-kernel@vger.kernel.org, dm-devel@redhat.com,
xfs@oss.sgi.com, linux-ext4@vger.kernel.org,
viro@ZenIV.linux.org.uk, akpm@linux-foundation.org,
pavel@suse.cz, linux-fsdevel@vger.kernel.org, hch@infradead.org,
Miklos Szeredi <miklos@szeredi.hu>,
Arjan van de Ven <arjan@infradead.org>,
Theodore Tso <tytso@mit.edu>, Dave Chinner <david@fromorbit.com>
Subject: Re: [PATCH 3/3] Add timeout feature
Date: Mon, 14 Jul 2008 10:04:30 -0400 [thread overview]
Message-ID: <487B5CEE.90404@hp.com> (raw)
In-Reply-To: <88E7CDF01964465CB9F33DE11298271D@nsl.ad.nec.co.jp>
Takashi Sato wrote:
> What is the difference between the timeout and AUTO-THAW?
> When the kernel detects a deadlock, does it occur to solve it?
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
next prev parent reply other threads:[~2008-07-14 14:04 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-30 12:24 [PATCH 3/3] Add timeout feature Takashi Sato
2008-07-01 8:10 ` Christoph Hellwig
2008-07-01 10:52 ` [dm-devel] " Alasdair G Kergon
2008-07-03 12:11 ` Takashi Sato
2008-07-03 12:47 ` Alasdair G Kergon
2008-07-03 22:11 ` Dave Chinner
2008-07-04 12:08 ` Takashi Sato
2008-07-03 14:45 ` Eric Sandeen
2008-07-07 11:07 ` Pavel Machek
2008-07-08 23:10 ` Dave Chinner
2008-07-08 23:20 ` Pavel Machek
2008-07-09 0:52 ` Dave Chinner
2008-07-09 1:09 ` Theodore Tso
2008-07-09 4:21 ` Brad Boyer
2008-07-09 6:13 ` Miklos Szeredi
2008-07-09 6:16 ` Christoph Hellwig
2008-07-09 6:22 ` Miklos Szeredi
2008-07-09 6:41 ` Arjan van de Ven
2008-07-09 6:48 ` Miklos Szeredi
2008-07-09 6:55 ` Arjan van de Ven
2008-07-09 7:08 ` Miklos Szeredi
2008-07-09 20:48 ` Pavel Machek
2008-07-09 7:13 ` Dave Chinner
2008-07-09 11:09 ` Theodore Tso
2008-07-09 11:49 ` Dave Chinner
2008-07-09 12:24 ` Theodore Tso
2008-07-09 12:59 ` Olaf Frączyk
2008-07-09 13:57 ` Arjan van de Ven
2008-07-09 13:55 ` Arjan van de Ven
2008-07-09 13:58 ` jim owens
2008-07-09 14:13 ` jim owens
2008-07-13 12:06 ` Pavel Machek
2008-07-13 17:15 ` jim owens
2008-07-14 6:36 ` Pavel Machek
2008-07-14 13:17 ` jim owens
2008-07-14 13:12 ` Takashi Sato
2008-07-14 14:04 ` jim owens [this message]
2008-07-09 13:53 ` Arjan van de Ven
2008-07-09 6:59 ` Dave Chinner
2008-07-09 7:13 ` Miklos Szeredi
2008-07-09 7:33 ` Dave Chinner
2008-07-09 8:11 ` Miklos Szeredi
2008-07-09 11:15 ` Dave Chinner
2008-07-09 20:44 ` Pavel Machek
-- strict thread matches above, loose matches on Subject: below --
2008-09-08 11:53 Takashi Sato
2008-09-08 17:11 ` Christoph Hellwig
2008-09-25 21:06 ` Ric Wheeler
2008-09-26 8:52 ` Takashi Sato
2008-09-26 10:58 ` Ric Wheeler
2008-09-29 11:11 ` Takashi Sato
2008-09-26 12:35 ` Valdis.Kletnieks
2008-09-29 14:13 ` Christoph Hellwig
2008-09-29 14:36 ` Eric Sandeen
2008-09-29 14:37 ` Christoph Hellwig
2008-09-29 14:45 ` Eric Sandeen
2008-09-29 22:08 ` jim owens
2008-10-05 10:00 ` Pavel Machek
2008-10-09 10:12 ` Takashi Sato
2008-10-09 10:18 ` Christoph Hellwig
2008-08-18 12:28 Takashi Sato
2008-08-21 20:20 ` Andrew Morton
2008-08-22 18:16 ` Christoph Hellwig
2008-08-24 17:03 ` Oleg Nesterov
2008-08-29 9:39 ` Takashi Sato
2008-07-22 9:36 Takashi Sato
2008-06-24 7:00 Takashi Sato
2008-06-24 22:09 ` Andrew Morton
2008-06-27 11:33 ` Takashi Sato
2008-06-27 18:57 ` Andrew Morton
2008-06-29 23:13 ` Takashi Sato
2008-06-30 0:01 ` Andrew Morton
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=487B5CEE.90404@hp.com \
--to=jowens@hp.com \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=axboe@kernel.dk \
--cc=david@fromorbit.com \
--cc=dm-devel@redhat.com \
--cc=hch@infradead.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=miklos@szeredi.hu \
--cc=mtk.manpages@googlemail.com \
--cc=pavel@suse.cz \
--cc=t-sato@yk.jp.nec.com \
--cc=tytso@mit.edu \
--cc=viro@ZenIV.linux.org.uk \
--cc=xfs@oss.sgi.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox