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>