Messages in this thread Patch in this message | | | Date | Tue, 13 Jul 2004 03:08:15 -0700 | From | William Lee Irwin III <> | Subject | Re: Preempt Threshold Measurements |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |