From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: Re: backport requests for 4.x-testing Date: Wed, 7 Mar 2012 10:44:56 +0000 Message-ID: <4F573C28.1050305@citrix.com> References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------060201080003080802020507" Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Keir Fraser Cc: "xen-devel@lists.xen.org" List-Id: xen-devel@lists.xenproject.org --------------060201080003080802020507 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit On 07/03/12 09:43, Keir Fraser wrote: > On 06/03/2012 11:04, "Andrew Cooper" wrote: > >> On 06/03/12 10:13, Jan Beulich wrote: >>> For a (hopefully soon) upcoming 4.1.3 and 4.0.4, may I ask to consider >>> the following changesets from -unstable for backporting: >> May I add the following suggestions. These are all patches which we >> have cherry picked for XenServer. > All applied except as follows: > >> 23936*,23937,23938*,23939,23940,23941 (Various ocaml fixes) >> 24320 (ocaml: release global lock during some hypercalls) >> 24414 (oxenstored: install configuration file) > These need to be Acked or backported by a toolstack maintainer. > >> 24542, 24543, 24570, 24571 (xenoprof fixes) > These changesets do not relate to xenoprof?? So they are not. It appears that there was an off-by-6 numbering error in our patch queue for these patches. Apologies for that. The numbers were in fact 24536,24537,24564,24565. >> 24870* (IOAPIC: prevent directed EOI support trashing io_ack mode) > Too hard to backport. Please provide your backported version. Attached. > -- Keir > > -- Andrew Cooper - Dom0 Kernel Engineer, Citrix XenServer T: +44 (0)1223 225 900, http://www.citrix.com --------------060201080003080802020507 Content-Type: text/x-patch; name="xen-unstable.hg-24870.9bf3ec036bef-ported.patch" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="xen-unstable.hg-24870.9bf3ec036bef-ported.patch" # HG changeset patch # User Andrew Cooper # Date 1329991127 0 # Node ID 9bf3ec036bef2b67338bf5685423e26de69bd031 # Parent c0412e6399fdc5048b4eeefa6a45822890309c72 IO-APIC: Prevent using EOI broadcast suppression if user specified ioapic_ack=new on the command line. Currently, if EOI broadcast suppression is advertised on the BSP LAPIC, Xen will discard any user specified option regarding IO-APIC ack mode. This patch introduces a check which prevents EOI Broadcast suppression from forcing the IO-APIC ack mode to old if the user has explicitly asked for the new ack mode on the command line. Signed-off-by: Andrew Cooper Committed-by: Keir Fraser diff -r c0412e6399fd xen/arch/x86/apic.c --- a/xen/arch/x86/apic.c +++ b/xen/arch/x86/apic.c @@ -437,9 +437,15 @@ int __init verify_local_APIC(void) */ if ( reg0 & APIC_LVR_DIRECTED_EOI ) { - ioapic_ack_new = 0; - directed_eoi_enabled = 1; - printk("Enabled directed EOI with ioapic_ack_old on!\n"); + if ( ioapic_ack_new == 1 && ioapic_ack_forced == 1 ) + printk("Not enabling directed EOI because ioapic_ack_new has been " + "forced on the command line\n"); + else + { + ioapic_ack_new = 0; + directed_eoi_enabled = 1; + printk("Enabled directed EOI with ioapic_ack_old on!\n"); + } } /* diff -r c0412e6399fd xen/arch/x86/io_apic.c --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c @@ -44,6 +44,7 @@ static struct { int pin, apic; } ioapic_ static DEFINE_SPINLOCK(ioapic_lock); bool_t __read_mostly skip_ioapic_setup; +bool_t __read_mostly ioapic_ack_forced = 0; #ifndef sis_apic_bug /* @@ -1664,9 +1665,15 @@ int __read_mostly ioapic_ack_new = 1; static void setup_ioapic_ack(char *s) { if ( !strcmp(s, "old") ) + { ioapic_ack_new = 0; + ioapic_ack_forced = 1; + } else if ( !strcmp(s, "new") ) + { ioapic_ack_new = 1; + ioapic_ack_forced = 1; + } else printk("Unknown ioapic_ack value specified: '%s'\n", s); } diff -r c0412e6399fd xen/include/asm-x86/io_apic.h --- a/xen/include/asm-x86/io_apic.h +++ b/xen/include/asm-x86/io_apic.h @@ -179,6 +179,7 @@ static inline void io_apic_modify(unsign /* 1 if "noapic" boot option passed */ extern bool_t skip_ioapic_setup; +extern bool_t ioapic_ack_forced; #ifdef CONFIG_ACPI_BOOT extern int io_apic_get_unique_id (int ioapic, int apic_id); --------------060201080003080802020507 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel --------------060201080003080802020507--