Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/sommerfeld_i386mp_1]: src/sys/arch/i386/i386 add idle-loop page-zeroing



details:   https://anonhg.NetBSD.org/src/rev/7c1b53a468d5
branches:  sommerfeld_i386mp_1
changeset: 482310:7c1b53a468d5
user:      sommerfeld <sommerfeld%NetBSD.org@localhost>
date:      Sat Nov 18 22:52:24 2000 +0000

description:
add idle-loop page-zeroing

diffstat:

 sys/arch/i386/i386/locore.s |  13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diffs (35 lines):

diff -r 552b8eba71fd -r 7c1b53a468d5 sys/arch/i386/i386/locore.s
--- a/sys/arch/i386/i386/locore.s       Sat Nov 18 22:50:31 2000 +0000
+++ b/sys/arch/i386/i386/locore.s       Sat Nov 18 22:52:24 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: locore.s,v 1.215.2.14 2000/08/25 03:56:27 sommerfeld Exp $     */
+/*     $NetBSD: locore.s,v 1.215.2.15 2000/11/18 22:52:24 sommerfeld Exp $     */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -2070,7 +2070,17 @@
        movl    $0,CPL                  # spl0()
        call    _C_LABEL(Xspllower)     # process pending interrupts
        jmp     idle_start
+idle_zero:             
+       sti
+       call    _C_LABEL(uvm_pageidlezero)
+       cli
+       cmpl    $0,_C_LABEL(sched_whichqs)
+       jnz     idle_exit
 idle_loop:
+       /* Try to zero some pages. */
+       movl    _C_LABEL(uvm)+UVM_PAGE_IDLE_ZERO,%ecx
+       testl   %ecx,%ecx
+       jnz     idle_zero
        sti
        hlt
 NENTRY(mpidle)
@@ -2078,6 +2088,7 @@
        cli
        cmpl    $0,_C_LABEL(sched_whichqs)
        jz      idle_loop
+idle_exit:     
        movl    $IPL_HIGH,CPL
 #if defined(MULTIPROCESSOR) || defined(LOCKDEBUG)      
        call    _C_LABEL(sched_lock_idle)



Home | Main Index | Thread Index | Old Index