All of lore.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: David Gibson <david@gibson.dropbear.id.au>,
	James Bottomley <James.Bottomley@steeleye.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC] generic device DMA implementation
Date: Thu, 5 Dec 2002 11:35:46 +0000	[thread overview]
Message-ID: <20021205113546.A22686@flint.arm.linux.org.uk> (raw)
In-Reply-To: <1039086496.651.65.camel@zion>; from benh@kernel.crashing.org on Thu, Dec 05, 2002 at 12:08:16PM +0100

On Thu, Dec 05, 2002 at 12:08:16PM +0100, Benjamin Herrenschmidt wrote:
> For things like ring descriptors of a net driver, I feel it's very much
> simpler (and possibly more efficient too) to also allocate non-cacheable
> space for consistent instead of continuously flushing/invalidating.
> Actually, flush/invalidate here can also have nasty side effects if
> several descriptors fit in the same cache line.

Indeed.  Think about a 16-byte descriptor in a 32-byte cache line.
The net chip has written status information to the first word, you've
just written to the 4th word of that cache line.

To access the status word written by the chip, you need to invalidate
(without writeback) that cache line.  For the chip to access the word
you've just written, you need to writeback that cache line.

In other words, you _will_ loose information in this case, guaranteed.
I'd rather keep our existing pci_* API than be forced into this crap
again.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


  reply	other threads:[~2002-12-05 11:28 UTC|newest]

Thread overview: 147+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-12-04 17:47 [RFC] generic device DMA implementation James Bottomley
2002-12-04 18:27 ` Jeff Garzik
2002-12-04 19:36   ` James Bottomley
2002-12-04 21:19 ` Miles Bader
2002-12-04 21:21 ` Miles Bader
2002-12-04 21:42   ` James Bottomley
2002-12-05  5:44     ` Miles Bader
2002-12-04 21:46   ` James Bottomley
2002-12-05  2:31     ` Miles Bader
2002-12-05  3:06       ` James Bottomley
2002-12-05  5:02       ` David Gibson
2002-12-05 11:15     ` Benjamin Herrenschmidt
2002-12-05 11:16       ` William Lee Irwin III
2002-12-05 15:12       ` James Bottomley
2002-12-05  0:47 ` David Gibson
2002-12-05  0:54   ` Jeff Garzik
2002-12-05  1:44   ` James Bottomley
2002-12-05  2:38     ` David Gibson
2002-12-05  3:13       ` James Bottomley
2002-12-05  5:05         ` David Gibson
2002-12-05 15:03           ` James Bottomley
2002-12-05 23:54             ` David Gibson
2002-12-05  3:17       ` Miles Bader
2002-12-05  6:06         ` David Gibson
2002-12-05  6:43           ` Miles Bader
2002-12-05 23:44             ` David Gibson
2002-12-06  2:23               ` Miles Bader
2002-12-05  3:41       ` Jeff Garzik
2002-12-05  6:04         ` David Gibson
2002-12-05 16:29           ` Jeff Garzik
2002-12-05 23:59             ` David Gibson
2002-12-05 11:08   ` Benjamin Herrenschmidt
2002-12-05 11:35     ` Russell King [this message]
2002-12-05 15:24       ` James Bottomley
2002-12-06  0:01     ` David Gibson
  -- strict thread matches above, loose matches on Subject: below --
2002-12-18  3:01 [RFT][PATCH] " James Bottomley
2002-12-18  3:13 ` David Mosberger
2002-12-28 18:14 ` Russell King
2002-12-28 18:19   ` James Bottomley
2002-12-07 14:37 [RFC] " Adam J. Richter
2002-12-07  4:12 Adam J. Richter
2002-12-06 22:52 Adam J. Richter
2002-12-06 22:17 Adam J. Richter
2002-12-06 22:26 ` James Bottomley
2002-12-06 22:29   ` David S. Miller
2002-12-06 22:48     ` James Bottomley
2002-12-06 22:49       ` David S. Miller
2002-12-06 22:32   ` Arjan van de Ven
2002-12-06 17:39 Adam J. Richter
2002-12-06 18:07 ` Matthew Wilcox
2002-12-06 17:07 Adam J. Richter
2002-12-06 16:48 James Bottomley
2002-12-06 16:19 Adam J. Richter
2002-12-06 16:40 ` Matthew Wilcox
2002-12-06 18:17 ` David S. Miller
2002-12-06 18:29   ` James Bottomley
2002-12-06 18:31     ` David S. Miller
2002-12-06 18:40       ` James Bottomley
2002-12-06 18:42         ` David S. Miller
2002-12-06 21:04           ` Oliver Xymoron
2002-12-07 10:19       ` David Gibson
2002-12-06 18:36   ` Matthew Wilcox
2002-12-06 18:38     ` David S. Miller
2002-12-06  7:41 Adam J. Richter
2002-12-06 15:50 ` David S. Miller
2002-12-06  7:14 Adam J. Richter
2002-12-06 16:26 ` James Bottomley
2002-12-06 17:48   ` Miles Bader
2002-12-07  9:56   ` David Gibson
2002-12-07  9:45 ` David Gibson
2002-12-07 11:26   ` Russell King
2002-12-08  5:28     ` David Gibson
2002-12-06  6:15 David Brownell
2002-12-06  2:08 Adam J. Richter
2002-12-06  2:53 ` David Gibson
2002-12-06  4:03   ` David S. Miller
2002-12-05 20:27 Adam J. Richter
2002-12-05 17:49 Manfred Spraul
2002-12-06  0:08 ` David Gibson
2002-12-05 12:21 Adam J. Richter
2002-12-05 12:44 ` Russell King
2002-12-05 12:13 Adam J. Richter
2002-12-05 11:57 Adam J. Richter
2002-12-06  0:06 ` David Gibson
2002-12-05  5:20 Adam J. Richter
2002-12-05  3:02 Adam J. Richter
2002-12-05  6:15 ` David Gibson
2002-12-05  1:21 Adam J. Richter
2002-12-05  2:40 ` David Gibson
2002-12-05  2:49   ` Miles Bader
2002-12-05  6:12     ` David Gibson
2002-12-05  0:43 Adam J. Richter
2002-12-05  0:55 ` Jeff Garzik
2002-12-05  2:02 ` James Bottomley
2002-11-09  4:51 [parisc-linux] Untested port of parisc_device to generic device interface Adam J. Richter
2002-11-09  5:21 ` Matthew Wilcox
2002-11-09  5:21 ` Matthew Wilcox
2002-11-09  6:03   ` Greg KH
2002-11-09 15:33     ` J.E.J. Bottomley
2002-11-09 15:33     ` J.E.J. Bottomley
2002-11-09 15:33       ` J.E.J. Bottomley
2002-11-13  6:13       ` Greg KH
2002-11-13  7:46         ` Miles Bader
2002-11-13  7:52           ` Greg KH
2002-11-13  7:52           ` Greg KH
2002-11-13  8:02             ` Miles Bader
2002-11-13  8:10               ` Greg KH
2002-11-13  8:26                 ` Miles Bader
2002-11-13  8:26                 ` Miles Bader
2002-11-13  8:25                   ` Greg KH
2002-11-13  8:25                   ` Greg KH
2002-11-13  9:05                     ` Miles Bader
2002-11-13  9:05                     ` Miles Bader
2002-11-13  8:10               ` Greg KH
2002-11-13 20:13               ` Grant Grundler
2002-11-13 20:13               ` Grant Grundler
2002-11-13 20:21                 ` J.E.J. Bottomley
2002-11-13 20:21                   ` J.E.J. Bottomley
2002-11-13 20:37                   ` Grant Grundler
2002-11-13 20:37                   ` Grant Grundler
2002-11-13 20:21                 ` J.E.J. Bottomley
2002-11-13  8:02             ` Miles Bader
2002-11-13 11:59             ` Ivan Kokshaysky
2002-11-13 11:59             ` Ivan Kokshaysky
2002-11-13 12:36               ` Marc Zyngier
2002-11-13 12:36               ` Marc Zyngier
2002-11-13 16:32             ` Bjorn Helgaas
2002-11-13 16:32             ` Bjorn Helgaas
2002-11-13 17:23               ` J.E.J. Bottomley
2002-11-13 17:23                 ` J.E.J. Bottomley
2002-11-13 20:33                 ` Grant Grundler
2002-11-13 20:44                   ` J.E.J. Bottomley
2002-11-13 20:44                     ` J.E.J. Bottomley
2002-11-13 21:42                     ` Grant Grundler
2002-11-13 21:42                     ` Grant Grundler
2002-11-13 20:44                   ` J.E.J. Bottomley
2002-11-13 20:33                 ` Grant Grundler
2002-11-13 17:23               ` J.E.J. Bottomley
2002-11-13 20:12             ` Grant Grundler
2002-11-13 20:12             ` Grant Grundler
2002-11-13  7:46         ` Miles Bader
2002-11-13  6:13       ` Greg KH
2002-11-09  6:03   ` Greg KH
2002-11-09  7:58   ` Marc Zyngier
2002-11-09  7:58   ` Marc Zyngier
2002-11-09 18:04 ` Grant Grundler
2002-11-09 18:04 ` Grant Grundler

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=20021205113546.A22686@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=James.Bottomley@steeleye.com \
    --cc=benh@kernel.crashing.org \
    --cc=david@gibson.dropbear.id.au \
    --cc=linux-kernel@vger.kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.