From patchwork Mon Oct 12 10:26:57 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Miller X-Patchwork-Id: 35746 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 27826B7063 for ; Mon, 12 Oct 2009 21:39:45 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755793AbZJLK1C (ORCPT ); Mon, 12 Oct 2009 06:27:02 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755902AbZJLK1C (ORCPT ); Mon, 12 Oct 2009 06:27:02 -0400 Received: from 74-93-104-97-Washington.hfc.comcastbusiness.net ([74.93.104.97]:34791 "EHLO sunset.davemloft.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755793AbZJLK1B (ORCPT ); Mon, 12 Oct 2009 06:27:01 -0400 Received: from localhost (localhost [127.0.0.1]) by sunset.davemloft.net (Postfix) with ESMTP id 46E1BC8C2A4; Mon, 12 Oct 2009 03:26:57 -0700 (PDT) Date: Mon, 12 Oct 2009 03:26:57 -0700 (PDT) Message-Id: <20091012.032657.24181291.davem@davemloft.net> To: heyongli@gmail.com Cc: sparclinux@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: Linux guest domain with two vnets bound to the same vswitch experiences hung in bootup (sun_netraT5220) From: David Miller In-Reply-To: <505766fa0910120123l51b57b8aja30a5d0fd1225c0d@mail.gmail.com> References: <20091009.150829.218507309.davem@davemloft.net> <20091009.162120.164441279.davem@davemloft.net> <505766fa0910120123l51b57b8aja30a5d0fd1225c0d@mail.gmail.com> X-Mailer: Mew version 6.2.51 on Emacs 22.1 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Sender: sparclinux-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: sparclinux@vger.kernel.org From: hyl Date: Mon, 12 Oct 2009 16:23:47 +0800 > look the console output, system seems hang on a live lock: > tl0_irq5 triggered just after the irq been re-enable in the handler > of irq5: the ldc_rx. > > i have no idea about the t10_irq5, just guess that: the special > configuration lead to t10_irq5 been triggered continuously, and > the trigger condition can not been cleared. Yes, it seems that stack is exhausted. Ho hum... I guess the following patch works too? Please make sure you've removed your changes when testing this. Thanks. --- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c index adf5f27..cb3c72c 100644 --- a/arch/sparc/kernel/ldc.c +++ b/arch/sparc/kernel/ldc.c @@ -1242,13 +1242,13 @@ int ldc_bind(struct ldc_channel *lp, const char *name) snprintf(lp->tx_irq_name, LDC_IRQ_NAME_MAX, "%s TX", name); err = request_irq(lp->cfg.rx_irq, ldc_rx, - IRQF_SAMPLE_RANDOM | IRQF_SHARED, + IRQF_SAMPLE_RANDOM | IRQF_DISABLED | IRQF_SHARED, lp->rx_irq_name, lp); if (err) return err; err = request_irq(lp->cfg.tx_irq, ldc_tx, - IRQF_SAMPLE_RANDOM | IRQF_SHARED, + IRQF_SAMPLE_RANDOM | IRQF_DISABLED | IRQF_SHARED, lp->tx_irq_name, lp); if (err) { free_irq(lp->cfg.rx_irq, lp);