All of lore.kernel.org
 help / color / mirror / Atom feed
From: Fabio Baltieri <fabio.baltieri@gmail.com>
To: linux-can@vger.kernel.org
Subject: Re: [RFC PATCH v2 1/2] can: add tx/rx LED trigger support
Date: Wed, 25 Apr 2012 22:39:48 +0200	[thread overview]
Message-ID: <20120425203948.GA1585@gmail.com> (raw)
In-Reply-To: <20120425080004.GB506@vandijck-laurijssen.be>

On Wed, Apr 25, 2012 at 10:00:04AM +0200, Kurt Van Dijck wrote:
> On Tue, Apr 24, 2012 at 10:34:57PM +0200, Fabio Baltieri wrote:
> > On Tue, Apr 24, 2012 at 10:45:16AM +0200, Kurt Van Dijck wrote:
> > > On Mon, Apr 23, 2012 at 11:02:45PM +0200, Fabio Baltieri wrote:
> > > > This patch implements the functions to add two LED triggers, named
> > > > <ifname>-tx and <ifname>-rx, to a canbus device driver.
> > > > 
> > > 
> > > > +void can_led_event(struct net_device *netdev, enum can_led_event event)
> > > 
> > > > +	case CAN_LED_EVENT_TX:
> > > > +		if (led_delay && likely(tx_led) &&
> > > > +		    !timer_pending(&tx_led->timer))
> > > > +			mod_timer(&tx_led->timer,
> > > I think that the latter 2 statements need threadsafe protection
> > > _OR_ strict serialization from the caller (much more likely).
> > > I don't think the code needs change, but it might be worth mentioning
> > > this serialization requirement in the header.
> > 
> > Sure? Each device is going to have individual timer structures, and
> > each timer_list is going to be accessed only from the event function and
> > by the timer handler itself for retriggering.
> > 
> > Also, mod_timer() by itself should be safe.
> 
> _between_ timer_pending() & mod_timer(), which are both
> safe I assume, an interrupt may happen.
> In such case, it's important that can_led_event(CAN_LED_EVENT_TX)
> is only called from either some IRQ function, or the network subsystem's softirq,
> but NOT from both places.

Ok - but I can't think of a case where you would call this one outside
hardirq/softirq context.  Either way, I think that the only thing which
could happen without locks is to schedule the timer two times, which as
I see from mod_timer implementation is already optimized out, so I think
that no locking is needed on this one. Am I missing something?

Regards,
Fabio


  reply	other threads:[~2012-04-25 20:38 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-23 21:02 [RFC PATCH v2 1/2] can: add tx/rx LED trigger support Fabio Baltieri
2012-04-23 21:02 ` [RFC PATCH v2 2/2] can: flexcan: add " Fabio Baltieri
2012-04-24  5:16 ` [RFC PATCH v2 1/2] can: add tx/rx " Oliver Hartkopp
2012-04-24 19:10   ` Fabio Baltieri
2012-04-24  6:46 ` Wolfgang Grandegger
2012-04-24 15:41   ` Oliver Hartkopp
2012-04-24 18:08     ` Wolfgang Grandegger
2012-04-24 18:57       ` Oliver Hartkopp
2012-04-25  7:05         ` Wolfgang Grandegger
2012-04-24 19:02   ` Fabio Baltieri
2012-04-25  7:26     ` Wolfgang Grandegger
2012-04-25  7:41       ` Marc Kleine-Budde
2012-04-25 10:04         ` Wolfgang Grandegger
2012-05-03 21:49           ` Fabio Baltieri
2012-05-04  7:03             ` Oliver Hartkopp
2012-05-04  7:30             ` Wolfgang Grandegger
2012-04-24  8:38 ` Kurt Van Dijck
2012-04-24 20:22   ` Fabio Baltieri
2012-04-25  7:50     ` Kurt Van Dijck
2012-04-24  8:45 ` Kurt Van Dijck
2012-04-24 20:34   ` Fabio Baltieri
2012-04-25  8:00     ` Kurt Van Dijck
2012-04-25 20:39       ` Fabio Baltieri [this message]
2012-04-26  8:21         ` Kurt Van Dijck

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=20120425203948.GA1585@gmail.com \
    --to=fabio.baltieri@gmail.com \
    --cc=linux-can@vger.kernel.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.