From: David Brownell <david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
To: joakim.tjernlund-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org
Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: Performance of spi_mpc83xx.c sucks.
Date: Tue, 2 Dec 2008 10:17:11 -0800 [thread overview]
Message-ID: <200812021017.11880.david-b@pacbell.net> (raw)
In-Reply-To: <1228231118.9867.108.camel-/EMGr9iCeazgSi9v3i4K4Pmbkio/vSLMs0AfqQuZ5sE@public.gmane.org>
On Tuesday 02 December 2008, Joakim Tjernlund wrote:
> > > The question is if the poll code I sent is good, even for longer transfers?
> > > Perhaps some sort of LOWLAT flag could be used for transfers that really need them?
> >
> > So long as you do the polling with IRQs enabled, I'd keep it simple and
> > just always poll. YMMV of course, but most devices seem to prefer more
> > like 10 MHz clocks than 1 MHz ones.
>
> Sorry for the delay, forgot about this.
>
> Won't polling for long periods starve user space?
If your system is that I/O bound, use DMA ... :)
> How to overcome this?
> Why use a kernel thread(mpc83xx_spi.0) to do the work?
> Would it not be better if the polling was in process context?
Using a kernel thread, like the not-so-well-named bitbang
utilities will do for you, *does* ensure the polling is
done in a process context. If it's interruptible, as I
suggested, it should also be pre-emptible ... so if its
activity (polling) gets to be serious overhead, some other
task can be scheduled.
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
next prev parent reply other threads:[~2008-12-02 18:17 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-21 16:19 Performance of spi_mpc83xx.c sucks Joakim Tjernlund
[not found] ` <1224605947.14078.17.camel-/EMGr9iCeazgSi9v3i4K4Pmbkio/vSLMs0AfqQuZ5sE@public.gmane.org>
2008-10-21 18:14 ` Peter Korsgaard
[not found] ` <877i81rf2g.fsf-uXGAPMMVk8amE9MCos8gUmSdvHPH+/yF@public.gmane.org>
2008-10-21 18:31 ` Joakim Tjernlund
[not found] ` <002f01c933ab$4bee9180$e3cbb480$@Tjernlund@transmode.se>
[not found] ` <002f01c933ab$4bee9180$e3cbb480$@Tjernlund-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org>
2008-11-21 4:10 ` David Brownell
[not found] ` <200811202010.30845.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-12-02 15:20 ` Joakim Tjernlund
[not found] ` <1228231118.9867.108.camel-/EMGr9iCeazgSi9v3i4K4Pmbkio/vSLMs0AfqQuZ5sE@public.gmane.org>
2008-12-02 16:23 ` Peter Korsgaard
[not found] ` <87d4gav94h.fsf-uXGAPMMVk8amE9MCos8gUmSdvHPH+/yF@public.gmane.org>
2008-12-02 18:20 ` Joakim Tjernlund
[not found] ` <040001c954aa$a00e3930$e02aab90$@Tjernlund@transmode.se>
[not found] ` <040001c954aa$a00e3930$e02aab90$@Tjernlund-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org>
2008-12-02 18:31 ` David Brownell
[not found] ` <200812021031.26711.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-12-02 18:58 ` Joakim Tjernlund
[not found] ` <041201c954af$f32ad3d0$d9807b70$@Tjernlund@transmode.se>
[not found] ` <041201c954af$f32ad3d0$d9807b70$@Tjernlund-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org>
2008-12-02 20:46 ` David Brownell
[not found] ` <200812021246.27884.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-12-02 22:12 ` Joakim Tjernlund
[not found] ` <041e01c954cb$15c0f030$4142d090$@Tjernlund@transmode.se>
[not found] ` <041e01c954cb$15c0f030$4142d090$@Tjernlund-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org>
2008-12-03 8:56 ` David Brownell
2008-12-02 18:17 ` David Brownell [this message]
[not found] ` <200812021017.11880.david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
2008-12-02 18:25 ` Joakim Tjernlund
[not found] ` <040601c954ab$554cff20$ffe6fd60$@Tjernlund@transmode.se>
[not found] ` <040601c954ab$554cff20$ffe6fd60$@Tjernlund-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org>
2008-12-02 19:10 ` 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=200812021017.11880.david-b@pacbell.net \
--to=david-b-ybekhbn/0ldr7s880joybq@public.gmane.org \
--cc=joakim.tjernlund-SNLAxHN9vbcOP4wsBPIw7w@public.gmane.org \
--cc=spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.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.