[LinuxPPS] [PATCH 02/11] Streamline interrupt handling; get rid of a lock and idr_find()

Rodolfo Giometti giometti at enneenne.com
Tue Feb 10 22:07:16 CET 2009


On Tue, Feb 10, 2009 at 02:32:35PM -0500, George Spelvin wrote:
> Rodolfo Giometti <giometti at enneenne.com> wrote:
> > LinuxPPS's pps_register_source(), pps_unregister_source() and
> > pps_event() have different features due PPS nature, that is
> > pps_event() __can_be_called_while_the_others_execute__.
> 
> *Sigh*.  I don't think it's at all difficult to arrange that pps_event
> has completed before pps_unregister_source is done, but doing it
> your way...
> 
> Okay, is there *any* guaranteed bound as to when pps_event will no longer
> be called?

Currently not.

> It doesn't have to be in seconds, just "when X happens, you know that
> the final caller of pps_event on that device has returned."
> 
> Or can I never unload the module for fear that pps_event will be called?
> 
> And if I don't want events delivered to the wrong PPS device
> (not its fault; it just happened to be allocated the same device
> number as the buggy one), I can never re-use device IDs?

I think this depends on idr code.

> 
> (I'm trying to work through the old PPS code.  The whole serial code
> base is a bit intricate.)

Let me suggest to delay this activity after LinuxPPS core inclusion,
since serial client is not stable (refere to last Alan's
considerations on this topic on LKML). After inclusion I will ask to
Alan how I should implement serial support and then you can rework the
code if you wish.

Ciao,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail: giometti at enneenne.com
Linux Device Driver                          giometti at linux.it
Embedded Systems                     phone:  +39 349 2432127
UNIX programming                     skype:  rodolfo.giometti



More information about the LinuxPPS mailing list