Re: Preempt Threshold Measurements

From: William Lee Irwin III
Date: Tue Jul 13 2004 - 05:10:05 EST


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;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/