public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Mikulas Patocka <mpatocka@redhat.com>,
	linux-kernel@vger.kernel.org, linux-mm@vger.kernel.org,
	agk@redhat.com, mbroz@redhat.com, chris@arachsys.com
Subject: Re: [PATCH] Memory management livelock
Date: Thu, 2 Oct 2008 20:14:10 -0700	[thread overview]
Message-ID: <20081002201410.07afff73.akpm@linux-foundation.org> (raw)
In-Reply-To: <200810031259.17527.nickpiggin@yahoo.com.au>

On Fri, 3 Oct 2008 12:59:17 +1000 Nick Piggin <nickpiggin@yahoo.com.au> wrote:

> On Friday 03 October 2008 12:40, Andrew Morton wrote:
> > On Fri, 3 Oct 2008 12:32:23 +1000 Nick Piggin <nickpiggin@yahoo.com.au> 
> wrote:
> > > > yup, that's pretty much unfixable, really, unless new locks are added
> > > > which block threads which are writing to unrelated sections of the
> > > > file, and that could hurt some workloads quite a lot, I expect.
> > >
> > > Why is it unfixable? Just ignore nr_to_write, and write out everything
> > > properly, I would have thought.
> >
> > That can cause fsync to wait arbitrarily long if some other process is
> > writing the file.
> 
> It can be fixed without touching non-fsync paths (see my next email for
> the way to fix it without touching fastpaths).
> 

yup.

> 
> > This happens. 
> 
> What does such a thing?

I forget.  People do all sorts of weird stuff.

> It would have been nicer to ask them to not do
> that then, or get them to use range syncs or something. Now that's much
> harder because we've accepted the crappy workaround for so long.
> 
> It's far far worse to just ignore data integrity of fsync because of the
> problem. Should at least have returned an error from fsync in that case,
> or make it interruptible or something.

If a file has one dirty page at offset 1000000000000000 then someone
does an fsync() and someone else gets in first and starts madly writing
pages at offset 0, we want to write that page at 1000000000000000. 
Somehow.

I expect there's no solution which avoids blocking the writers at some
stage.

  reply	other threads:[~2008-10-03  3:15 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20080911101616.GA24064@agk.fab.redhat.com>
2008-09-22 21:10 ` [PATCH] Memory management livelock Mikulas Patocka
2008-09-23  0:48   ` Andrew Morton
2008-09-23 22:34   ` Mikulas Patocka
2008-09-23 22:49     ` Andrew Morton
2008-09-23 23:11       ` Mikulas Patocka
2008-09-23 23:46         ` Andrew Morton
2008-09-24 18:50           ` Mikulas Patocka
2008-09-24 18:51           ` [PATCH 1/3] " Mikulas Patocka
2008-09-24 18:52           ` [PATCH 2/3] " Mikulas Patocka
2008-10-02  5:54             ` Andrew Morton
2008-10-05 22:11               ` RFC: one-bit mutexes (was: Re: [PATCH 2/3] Memory management livelock) Mikulas Patocka
2008-10-11 12:06                 ` Nick Piggin
2008-10-20 20:14                   ` Mikulas Patocka
2008-10-21  1:51                     ` Nick Piggin
2008-10-05 22:14               ` [PATCH 1/3] bit mutexes Mikulas Patocka
2008-10-05 22:14               ` [PATCH 2/3] Fix fsync livelock Mikulas Patocka
2008-10-05 22:33                 ` Arjan van de Ven
2008-10-05 23:02                   ` Mikulas Patocka
2008-10-05 23:07                     ` Arjan van de Ven
2008-10-05 23:18                       ` Mikulas Patocka
2008-10-05 23:28                         ` Arjan van de Ven
2008-10-06  0:01                           ` Mikulas Patocka
2008-10-06  0:30                             ` Arjan van de Ven
2008-10-06  3:30                               ` Mikulas Patocka
2008-10-06  4:20                                 ` Arjan van de Ven
2008-10-06 13:00                                   ` Mikulas Patocka
2008-10-06 13:50                                     ` Arjan van de Ven
2008-10-06 20:44                                       ` Mikulas Patocka
2008-10-08 10:56                               ` Pavel Machek
2008-10-06  2:51                             ` Dave Chinner
2008-10-05 22:16               ` [PATCH 3/3] Fix fsync-vs-write misbehavior Mikulas Patocka
2008-10-09  1:12               ` [PATCH] documentation: explain memory barriers Randy Dunlap
2008-10-09  1:17                 ` Chris Snook
2008-10-09  1:31                   ` Andrew Morton
2008-10-09  5:51                     ` Chris Snook
2008-10-09  9:58                       ` Ben Hutchings
2008-10-09 21:27                         ` Nick Piggin
2008-10-09 17:29                       ` Nick Piggin
2008-10-09  1:50                 ` Valdis.Kletnieks
2008-10-09 17:35                   ` Nick Piggin
2008-10-09  6:52                     ` Valdis.Kletnieks
2008-09-24 18:53           ` [PATCH 3/3] Memory management livelock Mikulas Patocka
2008-10-03  2:32       ` [PATCH] " Nick Piggin
2008-10-03  2:40         ` Andrew Morton
2008-10-03  2:59           ` Nick Piggin
2008-10-03  3:14             ` Andrew Morton [this message]
2008-10-03  3:47               ` Nick Piggin
2008-10-03  3:56                 ` Andrew Morton
2008-10-03  4:07                   ` Nick Piggin
2008-10-03  4:17                     ` Andrew Morton
2008-10-03  4:29                       ` Nick Piggin
2008-10-03 11:43                   ` Mikulas Patocka
2008-10-03 12:27                     ` Nick Piggin
2008-10-03 13:53                       ` Mikulas Patocka
2008-10-03  2:54         ` Nick Piggin
2008-10-03 11:26           ` Mikulas Patocka
2008-10-03 12:31             ` Nick Piggin
2008-10-03 13:50               ` Mikulas Patocka
2008-10-03 14:50                 ` Alasdair G Kergon
2008-10-03 14:36               ` Alasdair G Kergon
2008-10-03 15:52           ` application syncing options (was Re: [PATCH] Memory management livelock) david
2008-10-06  0:04             ` Mikulas Patocka
2008-10-06  0:19               ` david
2008-10-06  3:42                 ` Mikulas Patocka
2008-10-07  3:37                   ` david
2008-10-07 15:44                     ` Mikulas Patocka
2008-10-07 17:16                       ` david

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=20081002201410.07afff73.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=agk@redhat.com \
    --cc=chris@arachsys.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@vger.kernel.org \
    --cc=mbroz@redhat.com \
    --cc=mpatocka@redhat.com \
    --cc=nickpiggin@yahoo.com.au \
    /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