Date: Mon, 25 Nov 1996 21:27:57 +0800 From: Peter Wemm <peter@spinner.dialix.com> To: "John S. Dyson" <toor@dyson.iquest.net> Cc: phk@critter.tfs.com, freebsd-smp@freebsd.org Subject: Re: cvs commit: sys/i386/i386 locore.s swtch.s sys/i386/include pmap.h Message-ID: <199611251327.VAA01291@spinner.DIALix.COM> In-Reply-To: Your message of "Mon, 25 Nov 1996 08:12:16 EST." <199611251312.IAA01616@dyson.iquest.net>
next in thread | previous in thread | raw e-mail | index | archive | help
"John S. Dyson" wrote: > > I hope John's not going to have too much of a heart attack.. :-] It doesn' t > > interfere with the pmap code or the vm system in general, apart from making > > the maximum npkt space smaller by 4MB. I'm pretty sure I can get this > > to fly tonight, and will probably be able to get rid of the idle procs > > and smp_idleloop() in the process. > > > Don't worry, just feel free to ask for help (if you need it.) Don't worry.. I will certainly yell "Help!!!" when I need it. :-) OBTW, easy question. Is it safe to do a: movl %cr3, %eax movl %eax, %cr3 .. from a non-spl-maskable interrupt handler? I'm thinking in terms of a lightning quick interprocessor interrupt to force all cpu's to do an invltlb(). So far as I can see from a quick scan of the code, the only real loads of %cr3 are during cpu_switch(), initialisation, and tlb flushes. cpu_switch() does it from inside cli/sti so it's safe, init code is irrelevant at this point, and I think the tlb flush is implicitly reentrant since it's not changing the register. Have I missed something? > John Cheers, -Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199611251327.VAA01291>