public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Hugh Dickins <hugh@veritas.com>
Cc: Gerd Knorr <kraxel@bytesex.org>,
	Marcelo Tosatti <marcelo@conectiva.com.br>,
	Linus Torvalds <torvalds@transmeta.com>,
	Andrew Morton <akpm@zip.com.au>,
	Rik van Riel <riel@conectiva.com.br>,
	"David S. Miller" <davem@redhat.com>,
	Benjamin LaHaise <bcrl@redhat.com>, Dave Jones <davej@suse.de>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] __free_pages_ok oops
Date: Thu, 14 Feb 2002 16:17:28 +0100	[thread overview]
Message-ID: <20020214161728.O7940@athlon.random> (raw)
In-Reply-To: <20020214141028.M7940@athlon.random> <Pine.LNX.4.21.0202141335430.1033-100000@localhost.localdomain>
In-Reply-To: <Pine.LNX.4.21.0202141335430.1033-100000@localhost.localdomain>

On Thu, Feb 14, 2002 at 02:01:36PM +0000, Hugh Dickins wrote:
> On Thu, 14 Feb 2002, Andrea Arcangeli wrote:
> > On Thu, Feb 14, 2002 at 12:10:37PM +0100, Gerd Knorr wrote:
> > > 
> > > I've recently changed the code to make it *not* call unmap_kiobuf/vfree
> > > from irq context.  Instead bttv 0.8.x doesn't allow you to close the
> > > device with DMA xfers in flight.  If you try this the release() fops
> > > handler will block until the transfer is done, then unmap_kiobuf from
> > > process context, then return.
> > 
> > perfect, that's the right fix for 2.4 (waiting DMA to complete at
> > ->release looks also much saner). unmap_kiobuf wasn't supposed to be run
> > from irq handlers. Everything dealing with userspace mappings cannot run
> > from irq handlers, tlb flushes, VM, swapping etc...  everything must run
> > from normal kernel context. If you obey this rule, my previous email to
> > this thread will still apply. I wasn't aware of bttv running
> > unmap_kiobuf from irq.
> 
> It's good that Gerd has made his change, but we don't know who else
> might have been doing similar.  unmap_kiobuf does not involve unmapping
> virtual address space: it used to be safe run from irq handlers, now not.
> 
> We don't have to make a change for 2.4.18, but we really should add some
> kind of safety check there in 2.4.soon: either of the "it's a BUG()"
> kind I first suggested (which may embarrass us by firing too often),
> or of the "we can handle that" kind which I last suggested.

I think your BUG patch is good and it should go in.

Also note that such BUG() cannot trigger in mainline, and this is not an
hope, we know this for sure. It cannot happen even with bttv, because
the bttv-driver in mainline is using remap_page_range and it doesn't
allow read/write zerocopy. Such BUG can trigger only if you patch
mainline or if you use drivers not part of the maineline kernel, so as
usual it's a matter of the driver maintainers to provide a driver that
functions correctly on top of a certain mainline kernel. So I really
wouldn't worry to change this for 2.4 (as said, unless/until we're
forced to ship aio on top of 2.4).

Andrea

  reply	other threads:[~2002-02-14 15:17 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-02-06 19:06 [PATCH] __free_pages_ok oops Hugh Dickins
2002-02-06 19:47 ` Andrew Morton
2002-02-06 20:15   ` Hugh Dickins
2002-02-06 21:11     ` Andrew Morton
2002-02-07 20:31       ` Manfred Spraul
2002-02-07  5:09 ` Benjamin LaHaise
2002-02-07  5:47   ` Andrew Morton
2002-02-07  5:55     ` David S. Miller
2002-02-07  6:19       ` Andrew Morton
2002-02-07  6:49         ` David S. Miller
2002-02-07  7:07           ` Andrew Morton
2002-02-07 11:52             ` Hugh Dickins
2002-02-07 12:34             ` Rik van Riel
2002-02-07 12:37               ` David S. Miller
2002-02-07 12:44                 ` Rik van Riel
2002-02-07 13:19                   ` Hugh Dickins
2002-02-07 13:27                     ` Rik van Riel
2002-02-07 13:55                       ` Daniel Phillips
2002-02-07 14:28                       ` Hugh Dickins
2002-02-07 14:56                         ` Rik van Riel
2002-02-07 20:21                           ` Hugh Dickins
2002-02-07 20:58                         ` Andrea Arcangeli
2002-02-07 21:09                           ` Andrew Morton
2002-02-07 22:18                             ` Andrea Arcangeli
2002-02-07 22:31                               ` Andrew Morton
2002-02-07 23:09                                 ` Andrea Arcangeli
2002-02-07 23:27                                   ` Andrew Morton
2002-02-08 17:46                                     ` Hugh Dickins
2002-02-09 14:14                                       ` Gerd Knorr
2002-02-09 15:47                                         ` arjan
2002-02-09 14:33                                       ` Benjamin LaHaise
2002-02-12 20:19                                         ` Hugh Dickins
2002-02-13 18:52                                           ` Marcelo Tosatti
2002-02-14 10:47                                             ` Hugh Dickins
2002-02-14 11:10                                               ` Gerd Knorr
2002-02-14 13:10                                                 ` Andrea Arcangeli
2002-02-14 14:01                                                   ` Hugh Dickins
2002-02-14 15:17                                                     ` Andrea Arcangeli [this message]
2002-02-14 16:27                                                   ` Linus Torvalds
2002-02-25 18:32                                                     ` Benjamin LaHaise
2002-02-25 19:35                                                       ` Linus Torvalds
2002-02-07  9:48         ` Benjamin LaHaise
  -- strict thread matches above, loose matches on Subject: below --
2002-02-09  8:52 alad
2002-02-09 10:46 ` Hugh Dickins

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=20020214161728.O7940@athlon.random \
    --to=andrea@suse.de \
    --cc=akpm@zip.com.au \
    --cc=bcrl@redhat.com \
    --cc=davej@suse.de \
    --cc=davem@redhat.com \
    --cc=hugh@veritas.com \
    --cc=kraxel@bytesex.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marcelo@conectiva.com.br \
    --cc=riel@conectiva.com.br \
    --cc=torvalds@transmeta.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