mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: "Lennart Baruschka" <FunFlyer@gmx.net>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Disabling DMA with ICH10?
Date: Tue, 29 Sep 2009 11:46:56 +0100	[thread overview]
Message-ID: <20090929114656.05053387@lxorguk.ukuu.org.uk> (raw)
In-Reply-To: <20090929075416.77960@gmx.net>

> I thought that PIO transfers (which I understand to be
> write32()/read32()'s) unlike DMA transfers could be interrupted by an
> high-priority interrupt. Is that wrong?

Yes. An I/O cycle will stall that CPU thread (and sometimes more) until
it completes. Not only that but the only way to do PIO only at the
hardware level is to take the controller out of AHCI mode into legacy
mode which means doing a lot of PIO accesses routed to the drive.

> Actually, that's what I do - except for locking the page, yet. I do need
> to access the PCI bus in real time, though. So I wonder what happens

I didnt think any system with an ICH10 even had a legacy PCI bus.

> when the RT CPU is getting data from the PCI device, doing some
> calculations on it and then writing back some data to the device,
> __while at the same time__ another (non-RT) CPU starts a DMA transfer. I
> figured the DMA would block the PCI bus,

It depends upon how you have configured the bus, devices and chipset what
priority rules are active and also what size bursts are used for the
transfers. In particular read up on the PCI latency setting for legacy
PCI bus devices.

Alan

      parent reply	other threads:[~2009-09-29 10:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-28 21:31 Lennart Baruschka
2009-09-28 20:37 ` Alejandro Riveira Fernández
2009-09-28 22:40 ` Alan Cox
2009-09-29  7:54   ` Lennart Baruschka
2009-09-29  8:11     ` Arjan van de Ven
2009-09-29 12:29       ` Krzysztof Halasa
2009-09-29 17:05         ` Alan Cox
2009-09-29 20:35           ` Krzysztof Halasa
2009-09-29 22:35             ` Alan Cox
2009-09-30 12:21               ` Krzysztof Halasa
2009-09-29 10:46     ` Alan Cox [this message]

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=20090929114656.05053387@lxorguk.ukuu.org.uk \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=FunFlyer@gmx.net \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®