All of lore.kernel.org
 help / color / mirror / Atom feed
From: Maxim Levitsky <maximlevitsky@gmail.com>
To: Andy Walls <awalls@md.metrocast.net>
Cc: lirc-list@lists.sourceforge.net,
	Jarod Wilson <jarod@wilsonet.com>,
	linux-input@vger.kernel.org, linux-media@vger.kernel.org,
	Mauro Carvalho Chehab <mchehab@redhat.com>,
	Christoph Bartelmus <lirc@bartelmus.de>
Subject: Re: [PATCH 04/13] IR: fix locking in ir_raw_event_work
Date: Fri, 30 Jul 2010 14:02:50 +0300	[thread overview]
Message-ID: <1280487770.3646.1.camel@maxim-laptop> (raw)
In-Reply-To: <1280457769.15737.72.camel@localhost>

On Thu, 2010-07-29 at 22:42 -0400, Andy Walls wrote: 
> On Fri, 2010-07-30 at 05:17 +0300, Maxim Levitsky wrote:
> > It is prefectly possible to have ir_raw_event_work
> > running concurently on two cpus, thus we must protect
> > it from that situation.
> 
> Yup, the work is marked as not pending (and hence reschedulable) just
> before the work handler is run.
> 
> 
> > Maybe better solution is to ditch the workqueue at all
> > and use good 'ol thread per receiver, and just wake it up...
> 
> I suppose you could also use a single threaded workqueue instead of a
> mutex, and let a bit test provide exclusivity.  With the mutex, when the
> second thread finally obtains the lock, there will likely not be
> anything for it to do.
Mutex there is for another reason, to protect against decoder
insert/removal.

However, I think its best just to use a bare kthread for the purpose of
this.

Best regards,
Maxim Levitsky



  reply	other threads:[~2010-07-30 11:02 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-07-30  2:17 [PATCH 0/9 v2] IR: few fixes, additions and ENE driver Maxim Levitsky
2010-07-30  2:17 ` [PATCH 01/13] IR: Kconfig fixes Maxim Levitsky
2010-07-30  2:17 ` [PATCH 02/13] IR: minor fixes: Maxim Levitsky
2010-07-30  2:17 ` [PATCH 03/13] IR: replace spinlock with mutex Maxim Levitsky
2010-07-30  2:17 ` [PATCH 04/13] IR: fix locking in ir_raw_event_work Maxim Levitsky
2010-07-30  2:42   ` Andy Walls
2010-07-30 11:02     ` Maxim Levitsky [this message]
2010-07-30  2:17 ` [PATCH 05/13] IR: JVC: make repeat work Maxim Levitsky
2010-07-30  2:17 ` [PATCH 06/13] IR: nec decoder: fix repeat Maxim Levitsky
2010-07-30  2:50   ` Andy Walls
2010-07-30  2:17 ` [PATCH 07/13] IR: NECX: support repeat Maxim Levitsky
2010-07-30  2:17 ` [PATCH 08/13] IR: Allow not to compile keymaps in Maxim Levitsky
2010-07-30  2:17 ` [PATCH 09/13] IR: add helper function for hardware with small o/b buffer Maxim Levitsky
2010-07-30  2:17 ` [PATCH 10/13] IR: extend interfaces to support more device settings LIRC: add new IOCTL that enables learning mode (wide band receiver) Maxim Levitsky
2010-07-30  2:17 ` [PATCH 11/13] IR: report unknown scancodes the in-kernel decoders found Maxim Levitsky
2010-07-30  2:17 ` [PATCH 12/13] STAGING: remove lirc_ene0100 driver Maxim Levitsky
2010-07-30  2:17 ` [PATCH 13/13] IR: Port ene driver to new IR subsystem and enable it Maxim Levitsky
2010-07-30  2:39   ` Jon Smirl
2010-07-30  3:46     ` Andy Walls
2010-07-30 11:36       ` Maxim Levitsky
2010-07-30 11:51         ` Jon Smirl
2010-07-30 11:51           ` Jon Smirl
2010-07-30 11:54           ` Maxim Levitsky
2010-07-30 12:02             ` Jon Smirl
2010-07-30 12:07               ` Jon Smirl
2010-07-30 12:45                 ` Maxim Levitsky
2010-07-31 13:55                   ` Andy Walls
2010-07-31 14:28                     ` Maxim Levitsky
2010-07-31 14:37                       ` Jon Smirl
2010-07-31 14:37                         ` Jon Smirl
2010-07-31 14:51                         ` Maxim Levitsky
2010-07-31 15:12                   ` Andy Walls
2010-07-31 16:25                     ` Jon Smirl
2010-07-31 16:25                       ` Jon Smirl
2010-07-31 16:44                       ` Maxim Levitsky
2010-07-31 16:51                       ` Maxim Levitsky
2010-07-31 17:47                       ` Christoph Bartelmus
2010-07-31 17:47                         ` Christoph Bartelmus
2010-07-31 18:14                         ` Jon Smirl
2010-07-31 18:14                           ` Jon Smirl
2010-07-31 18:33                           ` Jon Smirl
2010-07-31 18:51                           ` Andy Walls
2010-07-31 21:53                             ` Jon Smirl
2010-07-31 21:53                               ` Jon Smirl
2010-07-31 23:26                               ` Maxim Levitsky
2010-08-01  9:43                               ` Christoph Bartelmus
2010-08-01  9:43                                 ` Christoph Bartelmus
2010-08-02 15:12                               ` Remote that breaks current system (was: IR: Port ene driver...) it Jarod Wilson
2010-08-02 15:12                                 ` Jarod Wilson
2010-08-02 16:11                                 ` Jon Smirl
2010-08-02 16:42                                   ` Remote that breaks current system Christoph Bartelmus
2010-08-02 16:42                                     ` Christoph Bartelmus
2010-08-02 17:13                                     ` Jon Smirl
2010-08-02 18:09                                       ` Jarod Wilson
2010-08-02 18:09                                         ` Jarod Wilson
2010-08-02 20:42                                         ` Jon Smirl
2010-08-02 20:42                                           ` Jon Smirl
2010-08-11 14:38                                           ` Jarod Wilson
2010-08-11 14:38                                             ` Jarod Wilson
2010-08-12  6:46                                             ` Christoph Bartelmus
2010-08-12  6:46                                               ` Christoph Bartelmus
2010-08-16  4:04                                               ` Jarod Wilson
2010-08-16 20:41                                                 ` Maxim Levitsky
2010-08-17  0:14                                                   ` Jarod Wilson
2010-08-17  3:30                                                     ` Mauro Carvalho Chehab
2010-08-17  3:40                                                       ` Jarod Wilson
2010-08-02 17:51                                     ` Jarod Wilson
2010-08-01  9:50                           ` [PATCH 13/13] IR: Port ene driver to new IR subsystem and enable it Christoph Bartelmus
2010-08-01  9:50                             ` Christoph Bartelmus
2010-08-01 14:00                             ` Jon Smirl
2010-08-01 14:00                               ` Jon Smirl
2010-08-01 14:05                               ` Jon Smirl
2010-08-01 15:13                               ` Christoph Bartelmus
2010-08-01 15:13                                 ` Christoph Bartelmus
2010-07-30 11:38 [PATCH 0/9 v3] IR: few fixes, additions and ENE driver Maxim Levitsky
2010-07-30 11:38 ` [PATCH 04/13] IR: fix locking in ir_raw_event_work Maxim Levitsky

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=1280487770.3646.1.camel@maxim-laptop \
    --to=maximlevitsky@gmail.com \
    --cc=awalls@md.metrocast.net \
    --cc=jarod@wilsonet.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=lirc-list@lists.sourceforge.net \
    --cc=lirc@bartelmus.de \
    --cc=mchehab@redhat.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 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.