Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Tue, 4 Mar 2003 18:24:19 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Tue, 4 Mar 2003 18:24:19 -0500 Received: from fmr09.intel.com ([192.52.57.35]:45822 "EHLO hermes.hd.intel.com") by vger.kernel.org with ESMTP id convert rfc822-to-8bit; Tue, 4 Mar 2003 18:24:17 -0500 content-class: urn:content-classes:message Subject: Re: [PATCH][IO_APIC] 2.5.63bk7 irq_balance improvments / bug-fixes Date: Tue, 4 Mar 2003 15:33:56 -0800 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 8BIT X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: Re: [PATCH][IO_APIC] 2.5.63bk7 irq_balance improvments / bug-fixes X-MimeOLE: Produced By Microsoft Exchange V6.0.6334.0 Thread-Index: AcLipoZHL+iRGtFHQOK6VLClIRUugw== From: "Kamble, Nitin A" To: Cc: , , , "Nakajima, Jun" , "Mallick, Asit K" , "Saxena, Sunil" X-OriginalArrivalTime: 04 Mar 2003 23:33:56.0713 (UTC) FILETIME=[8666D590:01C2E2A6] Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1698 Lines: 48 Hi Andrew, Kai, The bouncing is seen because of the round robin IRQ distribution in some particular cases. In some cases, (such as single heavy interrupt source in a 2way SMP system) binding heavy interrupt sources to different cpus is not going to remove the complete imbalance. In that case we fall back to Ingo's round robin approach. We have studied the previous round robin interrupt distribution implemented in the kernel, and we found that, at very high interrupt rate, the performance of the system increased with the increasing period of the round robin distribution. Please see the original LKML posting for more details. http://www.uwsg.indiana.edu/hypermail/linux/kernel/0212.2/1122.html So when if there is significant imbalance left after binding the IRQs to cpus, there are two options now, 1. Do not move around. Let the significant imbalance stick on a particular cpu. 2. Or move the heavy imbalance around all the cpus in the round robin fashion at high rate. Also we can have either of the option configurable in the kernel. Both the solutions will eliminate the bouncing behavior. The current implementation is based on the option 2, with the only difference of lower rate of distribution (5 sec). The optimal option is workload dependant. With static and heavy interrupt load, the option 2 looks better, while with random interrupt load the option 1 is good enough. Thanks & Regards, Nitin - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/