From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S264727AbUGMKIW (ORCPT ); Tue, 13 Jul 2004 06:08:22 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S264734AbUGMKIW (ORCPT ); Tue, 13 Jul 2004 06:08:22 -0400 Received: from holomorphy.com ([207.189.100.168]:15764 "EHLO holomorphy.com") by vger.kernel.org with ESMTP id S264727AbUGMKIV (ORCPT ); Tue, 13 Jul 2004 06:08:21 -0400 Date: Tue, 13 Jul 2004 03:08:15 -0700 From: William Lee Irwin III To: Andrew Morton Cc: Con Kolivas , devenyga@mcmaster.ca, ck@vds.kolivas.org, linux-kernel@vger.kernel.org Subject: Re: Preempt Threshold Measurements Message-ID: <20040713100815.GU21066@holomorphy.com> Mail-Followup-To: William Lee Irwin III , Andrew Morton , Con Kolivas , devenyga@mcmaster.ca, ck@vds.kolivas.org, linux-kernel@vger.kernel.org References: <200407121943.25196.devenyga@mcmaster.ca> <20040713024051.GQ21066@holomorphy.com> <200407122248.50377.devenyga@mcmaster.ca> <20040712210107.1945ac34.akpm@osdl.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20040712210107.1945ac34.akpm@osdl.org> User-Agent: Mutt/1.5.5.1+cvs20040105i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Jul 12, 2004 at 09:01:07PM -0700, Andrew Morton wrote: > This is a false positive. Nothing is setting need_resched(), so > unmap_vmas() doesn't bother dropping the lock. I guess I sent too many updates and the whole thing got dropped. The false positives were fixed in this way: --- timing-2.6.7.orig/mm/memory.c 2004-06-15 22:19:22.000000000 -0700 +++ timing-2.6.7/mm/memory.c 2004-07-12 05:33:17.000000000 -0700 @@ -558,14 +558,17 @@ zap_bytes -= block; if ((long)zap_bytes > 0) continue; - if (!atomic && need_resched()) { + zap_bytes = ZAP_BLOCK_SIZE; + if (!atomic) + continue; + touch_preempt_timing(); + if (need_resched()) { int fullmm = tlb_is_full_mm(*tlbp); tlb_finish_mmu(*tlbp, tlb_start, start); cond_resched_lock(&mm->page_table_lock); *tlbp = tlb_gather_mmu(mm, fullmm); tlb_start_valid = 0; } - zap_bytes = ZAP_BLOCK_SIZE; } } return ret;