From: Vitaly Wool <vwool@ru.mvista.com>
To: David Brownell <david-b@pacbell.net>
Cc: spi-devel-general@lists.sourceforge.net, Greg KH <greg@kroah.com>,
linux-kernel@vger.kernel.org, dpervushin@gmail.com,
akpm@osdl.org, basicmark@yahoo.com, komal_shah802003@yahoo.com,
stephen@streetfiresound.com, Joachim_Jaeger@digi.com
Subject: Re: [spi-devel-general] Re: [PATCH/RFC] SPI: add DMAUNSAFE analog
Date: Fri, 16 Dec 2005 01:17:56 +0300 [thread overview]
Message-ID: <43A1EB94.5040300@ru.mvista.com> (raw)
In-Reply-To: <200512151206.26515.david-b@pacbell.net>
David Brownell wrote:
>On Wednesday 14 December 2005 10:47 pm, Vitaly Wool wrote:
>
>
>
>>One cannot allocate memory in interrupt context, so the way to go is
>>allocating it on stack, thus the buffer is not DMA-safe.
>>
>>
>
>kmalloc(..., GFP_ATOMIC) is the way to allocate memory in irq context.
>It's done that way throughout the kernel.
>
>
It's not applicable within the RT-related changes. kmalloc anyway takes
mutexes, so allocationg it in interrupt context is buggy.
*Legacy* kernel code does that but why produce a new code with that?
>
>
>
>>Making it DMA-safe in thread that does the very message processing is a
>>good way of overcoming this.
>>
>>
>
>The rest of Linux appears to work fine without needing such mechanisms...
>
>
The rest of Linux still has a lot of bugs. Noone I guess is ready to
argue that.
>I really fail to see why you think SPI needs that. USB isn't the only
>counterexample, but it's particularly relevant since both USB and SPI
>use asynchronous message passing over serial links ... and USB has a
>rather complete driver stack over it. (None of the USB based WLAN
>drivers need those static buffers you worry about, by the way...)
>
>
I haven't heard of USB device registers needing to be written in IRQ
context. I'm not that well familiar with USB, so if you give such an
example, that'd be fine.
>>Using preallocated buffer is not a good way, since it may well be
>>already used by another interrupt or not yet processed by the worker
>>thread (or tasklet, or whatever).
>>
>>
>
>We would call those "driver bugs" and expect patches. :)
>
>
>
Well, I know one such patch ;)
>>One can not predict how many transfers are
>>gonna be dropped due to "previous trransfer is being processed" problem,
>>it depends on the system load. And though it's not a problem for
>>touchscreen, it *will* be a problem if it were MMC, for instance.
>>
>>
>
>Huh, well I've already seen one nice "mmc/sd over SPI" driver, using
>a slightly earlier version of the framework than is found in mm3.
>It's being used for root filesystems.
>
>So demonstrably there is no problem for MMC/SD, either.
>
>
No problem... Has the driver been tested in stress conditions? If not,
then I guess you can't say this for sure :)
Vitaly
next prev parent reply other threads:[~2005-12-15 22:18 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-12-12 15:20 [PATCH 2.6-git 0/4] SPI core refresh Vitaly Wool
2005-12-12 15:22 ` [PATCH 2.6-git 1/4] SPI core refresh: SPI core patch Vitaly Wool
2005-12-12 15:49 ` Russell King
2005-12-12 15:24 ` [PATCH 2.6-git 2/4] SPI core refresh: MTD dataflash driver Vitaly Wool
2005-12-12 15:26 ` [PATCH 2.6-git 3/4] SPI core refresh: SPI/PNX controller Vitaly Wool
2005-12-12 15:27 ` [PATCH 2.6-git 4/4] SPI core refresh: dumb EEPROM driver Vitaly Wool
2005-12-12 18:01 ` [PATCH 2.6-git 0/4] SPI core refresh Rui Sousa
2005-12-13 12:09 ` [spi-devel-general] " dmitry pervushin
2005-12-13 15:11 ` Rui Sousa
2005-12-13 17:06 ` dmitry pervushin
2005-12-14 6:57 ` Vitaly Wool
2005-12-14 14:28 ` Rui Sousa
2005-12-13 16:35 ` David Brownell
2005-12-13 18:02 ` Rui Sousa
2005-12-13 14:06 ` [PATCH/RFC] SPI: add async message handing library to David Brownell's core Vitaly Wool
2005-12-13 16:53 ` [PATCH/RFC] SPI: add DMAUNSAFE analog " Vitaly Wool
2005-12-13 19:01 ` David Brownell
2005-12-13 19:15 ` Greg KH
2005-12-14 13:50 ` Vitaly Wool
2005-12-14 17:18 ` Greg KH
2005-12-14 17:53 ` Vitaly Wool
2005-12-14 18:50 ` [PATCH/RFC] SPI: add DMAUNSAFE analog David Brownell
2005-12-14 19:29 ` Vitaly Wool
2005-12-14 19:02 ` [PATCH/RFC] SPI: add DMAUNSAFE analog to David Brownell's core David Brownell
2005-12-14 19:19 ` Vitaly Wool
2005-12-14 19:33 ` [spi-devel-general] Re: [PATCH/RFC] SPI: add DMAUNSAFE analog David Brownell
2005-12-14 19:34 ` [PATCH/RFC] SPI: add DMAUNSAFE analog to David Brownell's core Vitaly Wool
2005-12-15 6:47 ` Vitaly Wool
2005-12-15 16:44 ` Greg KH
2005-12-15 22:23 ` Vitaly Wool
2005-12-15 23:02 ` Greg KH
2005-12-16 8:37 ` Vitaly Wool
2005-12-16 17:34 ` Greg KH
2005-12-16 18:32 ` [spi-devel-general] Re: [PATCH/RFC] SPI: add DMAUNSAFE analog David Brownell
2005-12-15 20:06 ` David Brownell
2005-12-15 22:17 ` Vitaly Wool [this message]
2005-12-15 22:33 ` Greg KH
2005-12-16 3:34 ` Andy Isaacson
2005-12-16 5:17 ` Greg KH
2005-12-14 19:16 ` [PATCH/RFC] SPI: add DMAUNSAFE analog to David Brownell's core Greg KH
2005-12-14 19:30 ` Vitaly Wool
2005-12-15 10:00 ` [spi-devel-general] " dmitry pervushin
2005-12-14 17:22 ` David Brownell
2005-12-14 17:50 ` Vitaly Wool
2005-12-14 19:17 ` [PATCH/RFC] SPI: add DMAUNSAFE analog David Brownell
2005-12-14 20:11 ` Vitaly Wool
2005-12-13 21:47 ` [PATCH/RFC] SPI: add DMAUNSAFE analog to David Brownell's core Vitaly Wool
2005-12-13 22:15 ` Vitaly Wool
2005-12-14 16:55 ` David Brownell
2005-12-14 17:23 ` Vitaly Wool
2005-12-14 18:48 ` [PATCH/RFC] SPI: add async message handing library " Stephen Street
2005-12-14 19:41 ` Vitaly Wool
2005-12-14 21:19 ` Stephen Street
2005-12-14 19:31 ` [PATCH/RFC] SPI: add async message handing library David Brownell
2005-12-15 12:19 ` [PATCH/RFC] SPI: async message handing library update Vitaly Wool
2005-12-18 18:59 ` David Brownell
2005-12-19 15:40 ` [spi-devel-general] " dmitry pervushin
2005-12-20 7:23 ` David Brownell
2005-12-20 18:02 ` Vitaly Wool
2005-12-22 17:28 ` David Brownell
2005-12-22 22:10 ` Vitaly Wool
2005-12-22 23:55 ` David Brownell
2005-12-21 13:17 ` Vitaly Wool
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=43A1EB94.5040300@ru.mvista.com \
--to=vwool@ru.mvista.com \
--cc=Joachim_Jaeger@digi.com \
--cc=akpm@osdl.org \
--cc=basicmark@yahoo.com \
--cc=david-b@pacbell.net \
--cc=dpervushin@gmail.com \
--cc=greg@kroah.com \
--cc=komal_shah802003@yahoo.com \
--cc=linux-kernel@vger.kernel.org \
--cc=spi-devel-general@lists.sourceforge.net \
--cc=stephen@streetfiresound.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 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.