Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 May 2001 17:40:29 +0100 (BST)
From:      Doug Rabson <dfr@nlsystems.com>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        <smp@FreeBSD.org>
Subject:   RE: smp_rendezvous
Message-ID:  <Pine.BSF.4.33.0105101739540.75495-100000@herring.nlsystems.com>
In-Reply-To: <XFMail.010510085225.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 10 May 2001, John Baldwin wrote:

>
> 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.

I like the idea of a cpu_cacheflush().

-- 
Doug Rabson				Mail:  dfr@nlsystems.com
					Phone: +44 20 8348 6160



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?Pine.BSF.4.33.0105101739540.75495-100000>