From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754188AbZBGHQx (ORCPT ); Sat, 7 Feb 2009 02:16:53 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753114AbZBGHQo (ORCPT ); Sat, 7 Feb 2009 02:16:44 -0500 Received: from vms173005pub.verizon.net ([206.46.173.5]:31050 "EHLO vms173005pub.verizon.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752624AbZBGHQn (ORCPT ); Sat, 7 Feb 2009 02:16:43 -0500 Date: Sat, 07 Feb 2009 02:15:48 -0500 (EST) From: Len Brown X-X-Sender: lenb@localhost.localdomain To: Yinghai Lu Cc: Ingo Molnar , Thomas Gleixner , "H. Peter Anvin" , Andrew Morton , "linux-kernel@vger.kernel.org" , linux-acpi@vger.kernel.org Subject: Re: [PATCH] x86: find nr_irqs_gsi with mp_ioapic_routing In-reply-to: <498D0454.8030401@kernel.org> Message-id: References: <498CCEDB.8050708@kernel.org> <498D0454.8030401@kernel.org> User-Agent: Alpine 2.00 (LFD 1167 2008-08-23) MIME-version: 1.0 Content-type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > >> Impact: find right nr_irqs_gsi on some systems. > >> > >> one system has gap between gsi. > >> [ 0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0]) > >> [ 0.000000] IOAPIC[0]: apic_id 4, version 0, address 0xfec00000, GSI 0-23 > >> [ 0.000000] ACPI: IOAPIC (id[0x05] address[0xfeafd000] gsi_base[48]) > >> [ 0.000000] IOAPIC[1]: apic_id 5, version 0, address 0xfeafd000, GSI 48-54 > >> [ 0.000000] ACPI: IOAPIC (id[0x06] address[0xfeafc000] gsi_base[56]) > >> [ 0.000000] IOAPIC[2]: apic_id 6, version 0, address 0xfeafc000, GSI 56-62 > >> ... > >> [ 0.000000] nr_irqs_gsi: 38 > > > > I've never seen gaps in GSIs. > > I've never seen IOAPICs with 7 redirection table entries. > > > > This system looks quite broken even before the probe for nr_irqs_gsi. > > Do you have more information on it? > > it is one AMD based system from Sun. > it has two hypertransport chains. > one: 8132 + ck804 > one: io4 > > when 8 sockets are installed, will get > [ 0.000000] ACPI: IOAPIC (id[0x00] address[0xfec00000] gsi_base[0]) > [ 0.000000] IOAPIC[0]: apic_id 0, version 0, address 0xfec00000, GSI 0-23 > [ 0.000000] ACPI: IOAPIC (id[0x01] address[0xfdefd000] gsi_base[48]) > [ 0.000000] IOAPIC[1]: apic_id 1, version 0, address 0xfdefd000, GSI 48-54 > [ 0.000000] ACPI: IOAPIC (id[0x02] address[0xfdefc000] gsi_base[56]) > [ 0.000000] IOAPIC[2]: apic_id 2, version 0, address 0xfdefc000, GSI 56-62 > [ 0.000000] ACPI: IOAPIC (id[0x03] address[0xfeaff000] gsi_base[24]) > [ 0.000000] IOAPIC[3]: apic_id 3, version 0, address 0xfeaff000, GSI 24-47 > > > when 2 sockets are installed, only HT chains is used. will get > [ 0.000000] ACPI: IOAPIC (id[0x04] address[0xfec00000] gsi_base[0]) > [ 0.000000] IOAPIC[0]: apic_id 4, version 0, address 0xfec00000, GSI 0-23 > [ 0.000000] ACPI: IOAPIC (id[0x05] address[0xfeafd000] gsi_base[48]) > [ 0.000000] IOAPIC[1]: apic_id 5, version 0, address 0xfeafd000, GSI 48-54 > [ 0.000000] ACPI: IOAPIC (id[0x06] address[0xfeafc000] gsi_base[56]) > [ 0.000000] IOAPIC[2]: apic_id 6, version 0, address 0xfeafc000, GSI 56-62 > > acpi madt ioapic-entries does include gsi_base field. > > amd 8131: has 4 gsi > amd 8132: has 7 gsi, but only 3 can be used. > > anyway that system is not broken, and it is quite solid. I don't know if it violates the ACPI spec to have gaps in the GSI's, but it does violate my expectations when I read the spec -- so i guess that "unexpected" or "unconventional" may be a better word than "broken". At the same time, "unexpected" and "unconventional" BIOS implementations cause things like "broken" OS -- thus the need for your patch:-) > this patch seems to be a 2.6.29 material. I agree. thanks, Len Brown, Intel Open Source Technology Center