From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760742AbZLJIQs (ORCPT ); Thu, 10 Dec 2009 03:16:48 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1760709AbZLJIQq (ORCPT ); Thu, 10 Dec 2009 03:16:46 -0500 Received: from cantor2.suse.de ([195.135.220.15]:33322 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760696AbZLJIQp (ORCPT ); Thu, 10 Dec 2009 03:16:45 -0500 Date: Thu, 10 Dec 2009 09:16:51 +0100 Message-ID: From: Takashi Iwai To: "wzabolot@elektron.elka.pw.edu.pl" Cc: linux-kernel@vger.kernel.org Subject: Re: Driver snd-hrtimer - causing system freeze with Rosegarden In-Reply-To: <4B201EEE.9020200@elektron.elka.pw.edu.pl> References: <4B201EEE.9020200@elektron.elka.pw.edu.pl> User-Agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.7 Emacs/23.1 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org At Wed, 09 Dec 2009 23:04:30 +0100, wzabolot@elektron.elka.pw.edu.pl wrote: > > Dear Takashi, > > I've sent the attached message to the LKML, but I think that it may be > also reasonable to contact you - the author of the snd-hrtimer. > I've tried to find reasons for instability of system running the > sequencer using HR timer. > My results are summarized in the attached bug report. > Could you please check if calling of hrtimer_cancel from > xnd_hrtimer_stop, which sometimes is called from the callback may cause > the obderved instability? hrtimer_cancel() is very simple and doesn't sleep (but spins). So, this shouldn't be the real issue. > I have tested the problem on two SMP machines with diffrent kernels > (2.6.30, 2.6.31.6, 2.6.32). > The problem seems to be associated with the "snd-hrtimer" module. > I've tried to run the application vie remote X session, while having the > text console active. > Before the machine froze, the following messages have been displayed in > the console: > > System 1 (Intel(R) Pentium(R) 4 CPU 2.80GHz HT) > > hrtimer: interrupt too slow, forcing clock min delta to 3568 ns > > System 2 (Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz) > hrtimer: interrupt too slow, forcing clock min delta to 11103 ns > CE: hpet increasing min_delta_ns to 15000 nsec > CE: hpet increasing min_delta_ns to 22500 nsec > CE: hpet increasing min_delta_ns to 33750 nsec Hm, this sounds weird. Does hrtimer work reliably on your machine? > Analyzing the problem, I had an idea, that maybe the snd-hrtimer should > be rewritten to call > the callback via tasklet (I attach my patch only as an ilustration, my > code doesn't work either), Basically snd-hrtimer already uses tasklet (more exactly, snd-timer handles callbacks in tasklet as default except for the objects with SNDRV_TIMER_HW_TASKLET). So your patch is wrapping over a wrap. Takashi