Date: Sun, 15 Dec 1996 11:17:14 +0100 From: Poul-Henning Kamp <phk@critter.tfs.com> To: Peter Wemm <peter@spinner.dialix.com> Cc: dyson@freebsd.org, smp@freebsd.org, haertel@ichips.intel.com Subject: Re: some questions concerning TLB shootdowns in FreeBSD Message-ID: <9319.850645034@critter.tfs.com> In-Reply-To: Your message of "Sun, 15 Dec 1996 18:03:16 %2B0800." <199612151003.SAA14741@spinner.DIALix.COM>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <199612151003.SAA14741@spinner.DIALix.COM>, Peter Wemm writes: >Poul-Henning Kamp wrote: >> In message <199612150121.JAA12763@spinner.DIALix.COM>, Peter Wemm writes: >> >> >However, the shared address space code that I was working on in >> >-current (for kernel assisted threading in the smp kernel) means >> >that a single vmspace/pmap/etc can be shared among multiple processes >> >and this changes the above picture since two cpu's can be using >> >the user mode parts of the same page tables at once, one in executing >> >in user mode, one in the kernel. >> >> But we could still have a per-cpu flags: >> "I'm not in a shared address-space" >> >> Ie, this would only be set if the CPU was in userland in a non-threaded >> process. > >eg, something like: >if (is_userland && curproc->p_vmspace->vm_refcnt > 1) > send_tlb_invalidate(); Well more like: for (i=0;i<NCPU;i++) if (is_userland(i) && curproc[i]->p_vmspace->vm_refcnt > 1) send_tlb_invalidate(i); -- Poul-Henning Kamp | phk@FreeBSD.ORG FreeBSD Core-team. http://www.freebsd.org/~phk | phk@login.dknet.dk Private mailbox. whois: [PHK] | phk@tfs.com TRW Financial Systems, Inc. Power and ignorance is a disgusting cocktail.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9319.850645034>