From: Vitaly Wool <vwool@ru.mvista.com>
To: David Brownell <david-b@pacbell.net>
Cc: linux-kernel@vger.kernel.org, dpervushin@gmail.com,
akpm@osdl.org, greg@kroah.com, basicmark@yahoo.com,
komal_shah802003@yahoo.com, stephen@streetfiresound.com,
spi-devel-general@lists.sourceforge.net, Joachim_Jaeger@digi.com
Subject: Re: [PATCH 2.6-git] SPI core refresh
Date: Thu, 01 Dec 2005 10:24:36 +0300 [thread overview]
Message-ID: <438EA534.9090705@ru.mvista.com> (raw)
In-Reply-To: <200511301336.38613.david-b@pacbell.net>
David Brownell wrote:
>>- it can be compiled as a module
>>
>>
>
>Which as I pointed out would be a rather minor patch to mine. There's a
>bit of code to manage the board-specific SPI tables, which _can't_ be
>a module. Then there's something less than 2KB of code (ARM .text) that
>could live in a module. I can't get excited about making that live in
>a module, but I'd take a patch to change that.
>
>
Well, it's a sign of convergence :)
>
>
>
>>- it is DMA-safe
>>
>>
>
>Which as I pointed out is incorrect. The core API (async) has always
>been fully DMA-safe. And a **LOT** lower overhead than yours, which
>allocates buffers behind the back of drivers, and encourages lots of
>memcpy rather than just doing DMA directly to/from the buffers that
>are provided by the SPI protocol drivers.
>
>
Lower overhead? Lemme absolutely disagree with you. Please be aware that
memory allocation routines are abstract, so no necessary memory allocation.
Yeah, anyway, your latest core doesn't look DMA-unsafe to me.
>
>
>>- it is priority inversion-free
>>- it can gain more performance with multiple controllers
>>- it's more adapted for use in real-time environments
>>
>>
>
>You'd have to explain what you mean by all of these. I could guess
>based on what you've said before (disagree!), but that won't help.
>
>
Your taking semaphore in spi_write_then_read which all the sync routines
are based on may lead to priority inversion and of course is not optimal
in terms of overall performance, if there's more than one controller
(have you tested your core in this situation BTW?)
Suppose you have two kernel threads with different priorities dealing
with SPI controller each... Of course you'll get priority inversion when
the thread with higher prio will wait for semaphore release!
>
>
>
>>- it's not so lightweight, but it leaves less effort for the bus driver developer.
>>
>>
>
>Whereas in my previous comments about your framework, I think I've
>pointed out that imposing needless and restrictive policies on how
>the controller drivers work is a Bad Thing.
>
>
It's just a *reasonable* _default_ policy.
Vitaly
next prev parent reply other threads:[~2005-12-01 7:24 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-30 16:50 [PATCH 2.6-git] SPI core refresh Vitaly Wool
2005-11-30 19:17 ` Russell King
2005-11-30 19:54 ` Greg KH
2005-11-30 20:29 ` Mark Underwood
2005-12-01 7:17 ` Vitaly Wool
2005-12-01 18:31 ` David Brownell
2005-12-02 5:48 ` Vitaly Wool
2005-12-02 18:37 ` Mark Underwood
2005-11-30 21:26 ` David Brownell
2005-11-30 21:27 ` David Brownell
2005-12-12 16:57 ` Vitaly Wool
2005-12-13 22:16 ` David Brownell
2005-11-30 21:36 ` David Brownell
2005-11-30 21:59 ` Stephen Street
2005-12-01 7:31 ` Vitaly Wool
2005-12-01 7:24 ` Vitaly Wool [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-12-01 16:11 Vitaly Wool
2005-12-01 16:21 ` Russell King
2005-12-01 16:30 ` Vitaly Wool
2005-12-01 18:04 ` Stephen Street
2005-12-01 18:22 ` Greg KH
2005-12-02 6:06 ` Vitaly Wool
2005-12-02 18:50 ` Mark Underwood
2005-12-02 20:13 ` Greg KH
2005-12-05 18:01 ` Vitaly Wool
2005-12-08 1:59 ` David Brownell
2005-12-08 6:33 ` Vitaly Wool
2005-12-09 22:55 ` David Brownell
2005-12-10 11:15 ` Vitaly Wool
2005-12-11 12:36 ` Vitaly Wool
2005-12-03 11:44 vitalhome
2005-12-03 11:49 vitalhome
2005-12-03 17:10 ` Mark Underwood
2005-12-03 23:50 ` David Brownell
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=438EA534.9090705@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox