Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 May 2001 08:52:25 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        Doug Rabson <dfr@nlsystems.com>
Cc:        smp@FreeBSD.org
Subject:   RE: smp_rendezvous
Message-ID:  <XFMail.010510085225.jhb@FreeBSD.org>
In-Reply-To: <Pine.BSF.4.33.0105101510240.74952-100000@herring.nlsystems.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On 10-May-01 Doug Rabson wrote:
> It would be really useful to be able to use smp_rendezvous in both UP and
> SMP kernels. The particular context I would like it for is in the AGP
> driver. When the AGP driver changes the contents of the AGP aperture, it
> needs to flush the processor caches (since it is changing the physical
> memory map). Obviously it needs to flush all the processors in an SMP
> system and the simplest way to do this is a rendezvous.
> 
> Of course I could make the cache flushing conditional but that makes it
> more difficult to compile it as a loadable module since we would like
> loadable code to be SMP-agnostic.

For TLB invalidates on the i386 we redefine the invltlb() to use a rendezvous
in the SMP case.  A solution for this case might be for the kernel to provide a
cpu_cacheflush() or somesuch that DTRT in both the UP and SMP cases.  This also
keeps the agp driver from growing a large #ifdef of MD code in it's cache flush
function.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.010510085225.jhb>