From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yinghai Lu Subject: Re: [patch 00/47] Sparse irq rework Date: Sat, 09 Oct 2010 00:03:39 -0700 Message-ID: <4CB013CB.1040904@kernel.org> References: <20100930221351.682772535@linutronix.de> <20101003112312.GB9844@angua.secretlab.ca> <20101003112920.GB32736@n2100.arm.linux.org.uk> <4CACFC23.4080504@kernel.org> <4CAD082B.40908@kernel.org> <4CAD1154.3080403@kernel.org> <4CAD4EC3.5060809@kernel.org> <4CAFEEFA.1070000@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Return-path: Received: from rcsinet10.oracle.com ([148.87.113.121]:45909 "EHLO rcsinet10.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752677Ab0JIHFp (ORCPT ); Sat, 9 Oct 2010 03:05:45 -0400 In-Reply-To: Sender: linux-arch-owner@vger.kernel.org List-ID: To: Thomas Gleixner Cc: Grant Likely , Russell King - ARM Linux , LKML , linux-arch@vger.kernel.org, Linus Torvalds , Andrew Morton , x86@kernel.org, Peter Zijlstra , Benjamin Herrenschmidt , Paul Mundt , David Woodhouse , Jesse Barnes , "Eric W. Biederman" On 10/08/2010 11:10 PM, Thomas Gleixner wrote: > On Fri, 8 Oct 2010, Yinghai Lu wrote: > >> On 10/08/2010 02:54 PM, Thomas Gleixner wrote: >>> On Fri, 8 Oct 2010, Thomas Gleixner wrote: >>> >>>> On Wed, 6 Oct 2010, Yinghai Lu wrote: >>>>> On 10/06/2010 09:01 PM, Thomas Gleixner wrote: >>>>>> Well, I'm not too happy about this preallocated stuff anyway, which is >>>>>> the reason for the warning below. >>>>>> >>>>>>> [ 80.726176] WARNING: at drivers/pci/intr_remapping.c:67 irq_2_iommu_alloc+0x52/0xdc() >>>>>>> [ 80.745935] Hardware name: Sun Fire X4800 >>>>>>> [ 80.746179] irq_2_iommu!=NULL irq 8 >>>>>> >>>>> >>>>> no, irq_2_iommu are all dynamically allocated even for irq < 16. >>>> >>>> I know. I was talking about the preallocated irq descriptors and the >>>> handling of it in general. >>>> >>>> Nevertheless, that irq_2_iommu stuff does not need it's own allocation >>>> function. It's bound to a specific irq_cfg anyway, so the next logical >>>> step is to move irq_2_iommu into struct irq_cfg and get rid of the >>>> extra allocation/free in intr_remapping.c. >>> >>> Forgot to say, that I updated the git tree with all the fallout >>> fixes. >>> >>> git://git.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-sparse-irq.git master >>> >>> Can you please retest ? >>> >> >> one warning and two panics >> >> [ 37.369332] ------------[ cut here ]------------ >> [ 37.383782] WARNING: at drivers/pci/intr_remapping.c:67 irq_2_iommu_alloc+0x52/0xdc() >> [ 37.384463] Hardware name: Sun Fire X4800 >> [ 37.403803] irq_2_iommu!=NULL irq 9 >> [ 37.404054] Modules linked in: >> [ 37.404311] Pid: 1, comm: swapper Not tainted 2.6.36-rc7-tip-yh-01944-ge8a4c5f-dirty #171 > > Hmm, so that interrupt is already set up in the iommmu. > >> [ 59.429741] BUG: unable to handle kernel NULL pointer dereference at (null) >> [ 59.449366] IP: [] acpi_pci_irq_find_prt_entry+0x85/0xb1 > > I can hardly see how this is related to the irq work. > >> [ 71.076886] Pid: 1, comm: swapper Tainted: G W 2.6.36-rc7-tip-yh-01944-ge8a4c5f-dirty #171 /Sun Fire x4800 >> [ 71.096947] RIP: 0010:[] [] strcmp+0x4/0x21 > > Ditto. don't know. but without merging your branch, those problems don't come out. only thing i can think about that you real free irq code could stress or expose other subsystem's bug etc. Yinghai