From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752559AbaCWO3N (ORCPT ); Sun, 23 Mar 2014 10:29:13 -0400 Received: from bedivere.hansenpartnership.com ([66.63.167.143]:50292 "EHLO bedivere.hansenpartnership.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752143AbaCWO3M (ORCPT ); Sun, 23 Mar 2014 10:29:12 -0400 Message-ID: <1395584950.2200.9.camel@dabdike.int.hansenpartnership.com> Subject: Re: please fix FUSION (Was:[v3.13][v3.14][Regression]kthread:makekthread_create()killable) From: James Bottomley To: Thomas Gleixner Cc: Tetsuo Handa , oleg@redhat.com, joseph.salisbury@canonical.com, Nagalakshmi.Nandigama@lsi.com, Sreekanth.Reddy@lsi.com, rientjes@google.com, akpm@linux-foundation.org, torvalds@linux-foundation.org, tj@kernel.org, linux-kernel@vger.kernel.org, kernel-team@lists.ubuntu.com, linux-scsi@vger.kernel.org, thenzl@redhat.com Date: Sun, 23 Mar 2014 07:29:10 -0700 In-Reply-To: References: <20140321183443.GA3891@redhat.com> <201403221525.FJC69759.MSLOtHOJOVFFQF@I-love.SAKURA.ne.jp> <20140322192511.GA14811@redhat.com> <201403230857.IGH51500.FOHtQMFVOFOLJS@I-love.SAKURA.ne.jp> <1395584368.2200.3.camel@dabdike.int.hansenpartnership.com> Content-Type: text/plain; charset="ISO-8859-15" X-Mailer: Evolution 3.10.2 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, 2014-03-23 at 15:28 +0100, Thomas Gleixner wrote: > On Sun, 23 Mar 2014, James Bottomley wrote: > > On Sun, 2014-03-23 at 09:04 +0100, Thomas Gleixner wrote: > > > On Sun, 23 Mar 2014, Tetsuo Handa wrote: > > > > > > > Thomas Gleixner wrote: > > > > > But then systemd/udev mutters: > > > > > > > > > > "You migh be able to work around the timeout with udev rules and > > > > > OPTIONS+="event_timeout=120", but that code was maybe never used > > > > > or tested, so it might not work correctly." [1] > > > > > > > > > > AFAICT from the ubuntu bug system [2] nobody bothered even to try that. > > > > > > > > > > And if the udev/systemd event_timeout option is broken it's way better > > > > > to fix that one instead of hacking random heuristics into the kernel. > > > > > > > > I haven't tried the event_timeout= option but I think it will not work. > > > > The timeout is hard coded as shown below and there will be no chance for taking > > > > the event_timeout= option into account. > > > > > > > > ---------- systemd-204/src/udev/udevd.c start ---------- > > > > (...snipped...) > > > > /* check for hanging events */ > > > > udev_list_node_foreach(loop, &worker_list) { > > > > struct worker *worker = node_to_worker(loop); > > > > > > > > if (worker->state != WORKER_RUNNING) > > > > continue; > > > > > > > > if ((now(CLOCK_MONOTONIC) - worker->event_start_usec) > 30 * 1000 * 1000) { > > > > > > And because systemd has an immutable hardcoded random timeout we add > > > another hardcoded random timeout into kthread_create() to work around > > > that. > > > > > > How broken is that? > > > > > > And it seems other people have solved it: > > > > > > http://www.redhat.com/archives/lvm-devel/2013-September/msg00036.html > > > > I agree with Thomas. A hardcoded timeout is a systemd bug. However, > > could I get confirmation, while you can use this bug to do it, that the > > patch back in this thread actually fixes the crash when scsi_alloc_host > > fails, that's the serious SCSI bug, in my view? > > Which patch, the one to kthread_create() or the one to SCSI? The one to SCSI ... I'm only really interested in the oops when scsi_host_alloc fails. James