Subject: Re: Changes to firewire code
To: None <jchacon@genuity.net>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-kern
Date: 04/29/2001 11:25:38
On Sun, Apr 29, 2001 at 04:59:12AM -0400, jchacon@genuity.net wrote:
> As some folks are aware I've been working recently on the firewire code
> to begin the framework for adding real device support into the code (mainly so
> my newly purchased hard drive isn't a large paper weight...).
>
> At this point I've got enough of a baseline I'm about to check things in but
> wanted to give anyone who's currently using the code a heads up as to what's
> going to change/break/etc.
>
> So far the list of things changing:
>
> 1. The bus code runs in it's own kthread now and interrupt processing has been
> changed to do 99% of the work inside the thread. The interrupt handler
> deals with acknowledging the interrupt and waking up the kthread to deal
> with the DMA. This avoids a lot of race condition/possible deadlocks/etc
> in the older structure that I started tripping over when adding in fwnode
> support.
>
> 2. Move everything to splbio and let the underlying devices raise spl as
> appropriate for their specific function (i.e. the if_fw code needs to raise
> splnet when moving packets around).
Why at splbio ? While we deal with firewire internal states internally,
there's no need to block other's devices interrupt I think. As you're
in a kthread anyway, maybe you could use real locks ?
--
Manuel Bouyer <bouyer@antioche.eu.org>
--