Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752616Ab0DMJ10 (ORCPT ); Tue, 13 Apr 2010 05:27:26 -0400 Received: from moutng.kundenserver.de ([212.227.17.8]:57311 "EHLO moutng.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752179Ab0DMJ1Y (ORCPT ); Tue, 13 Apr 2010 05:27:24 -0400 From: Arnd Bergmann To: Frederic Weisbecker Subject: Re: [PATCH 6/6] procfs: Kill the bkl in ioctl Date: Tue, 13 Apr 2010 11:26:27 +0200 User-Agent: KMail/1.12.2 (Linux/2.6.31-19-generic; KDE/4.3.2; x86_64; ; ) Cc: Christoph Hellwig , Stefan Richter , Alexey Dobriyan , LKML , Thomas Gleixner , Andrew Morton , John Kacur , KAMEZAWA Hiroyuki , Al Viro , Ingo Molnar References: <1269930015-863-1-git-send-regression-fweisbec@gmail.com> <201004121934.18307.arnd@arndb.de> <20100412215320.GF8285@nowhere> In-Reply-To: <20100412215320.GF8285@nowhere> MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201004131126.27482.arnd@arndb.de> X-Provags-ID: V01U2FsdGVkX1+Vp1A5wIvi+r9zfw7a5uScBslDVSFXuTitWD/ P5Y2uoncYqKL5TDLp2vZpsolYEMzd23XFGgJLXDoYGEI2xb2Ql 1fhCaHA/8wJY3mCxkC+8A== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1546 Lines: 41 On Monday 12 April 2010, Frederic Weisbecker wrote: > On Mon, Apr 12, 2010 at 07:34:17PM +0200, Arnd Bergmann wrote: > > > > I think the rule set for the conversion needs to be one that can > > be done purely based on the code. How about this: > > > > For each file operation { > > if (uses f_pos) { > > if (same module uses BKL) > > -> default_llseek > > else > > -> generic_file_llseek > > } else { > > if (driver maintained) > > -> no_llseek (with maintainer ACK) > > else > > -> noop_llseek > > } > > } > > It is also hard to determine a given driver really doesn't use > the bkl. A sole lock_kernel() grep in its files is not sufficient. > But a manual second pass should do the trick. Why not? In my 2.6.33 based series, I have removed all implicit uses of the BKL, so we can be sure that it doesn't use the BKL unless the module is part of that series. The only two cases I can think of are: - ioctl callback, which we should do in the same change, like I originally did. If a driver defines ->ioctl(), make it use deprecated_ioctl() and default_llseek()/deprecated_llseek. - Any of the file systems from Jan's series. Arnd -- 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/