Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752050AbbHDFe4 (ORCPT ); Tue, 4 Aug 2015 01:34:56 -0400 Received: from mail-ig0-f193.google.com ([209.85.213.193]:35128 "EHLO mail-ig0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750824AbbHDFex (ORCPT ); Tue, 4 Aug 2015 01:34:53 -0400 MIME-Version: 1.0 In-Reply-To: <55B231DE.4080308@metafoo.de> References: <1437434050-32907-1-git-send-email-xander.huff@ni.com> <55B231DE.4080308@metafoo.de> Date: Tue, 4 Aug 2015 11:04:52 +0530 Message-ID: Subject: Re: [PATCH v3] iio: adc: xilinx-xadc: Push interrupts into threaded context From: Shubhrajyoti Datta To: Lars-Peter Clausen Cc: Xander Huff , jic23@kernel.org, bigeasy@linutronix.de, knaack.h@gmx.de, Peter Meerwald , Michal Simek , =?UTF-8?Q?S=C3=B6ren_Brinkmann?= , linux-iio@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rt-users@vger.kernel.org, linux-kernel@vger.kernel.org, joe.hershberger@ni.com, joshc@ni.com, nathan.sullivan@ni.com, jaeden.amero@ni.com Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1558 Lines: 43 On Fri, Jul 24, 2015 at 6:08 PM, Lars-Peter Clausen wrote: > Hi, > > Sorry, but I don't think this patch has been sufficiently tested against a > mainline kernel. The driver wont even probe the way it is right now. > > On 07/21/2015 01:14 AM, Xander Huff wrote: >> >> The driver currently registers a pair of irq handlers using >> request_threaded_irq(), however the synchronization mechanism between the >> hardirq and the threadedirq handler is a regular spinlock. > > > If everything runs in threaded context we don't really need the spinlock > anymore and can use the mutex throughout. that should be better from the performance point of view. > >> >> Unfortunately, this breaks PREEMPT_RT builds, where a spinlock can sleep, >> and is thus not able to be acquired from a hardirq handler. This patch >> gets >> rid of the hardirq handler and pushes all interrupt handling into the >> threaded context. > > > We actually might as well run everything in the hardirq handler (which will > be threaded in PREEMPT_RT). The reason why we have the threaded handler is > because xadc_handle_event() used to sleep, but it doesn't do this anymore. The point is why have the hard irq. If we use hardirq then not mutex can be used and spinlock will be busy. is there something i may be missing? > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/