Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Oct 2000 08:08:00 +0000 (GMT)
From:      Terry Lambert <tlambert@primenet.com>
To:        msmith@FreeBSD.ORG (Mike Smith)
Cc:        charrer@alacritech.com (Christopher Harrer), freebsd-hackers@FreeBSD.ORG (Freebsd-Hackers)
Subject:   Re: Cache Questions
Message-ID:  <200010240808.BAA11953@usr01.primenet.com>
In-Reply-To: <200010232007.e9NK7Ih04538@mass.osd.bsdi.com> from "Mike Smith" at Oct 23, 2000 01:07:18 PM

next in thread | previous in thread | raw e-mail | index | archive | help
> > We're working on a driver for a PCI card, we're currently running into a
> > problem that's symptomatic of a cache coherency problem.  We have a area of
> > memory that we manipulate and pass a physical address to our card.  In other
> > OS's (Linux, NT), before we manipulate this memory area, we mark the area as
> > non-cachable.  Are there similar operations/system calls we can use in
> > FreeBSD?  Are there any FAQ's, Docs or man-pages that explain memory
> > usage/attributes?
> 
> Take a look at <sys/memrange.h>, and particularly mem_range_attr_set().
> 
> *However*, since the PC architecture is strongly cache coherent, you 
> probably have a problem with the design or implementation of your 
> driver:adapter protocol.  Marking an entire region of memory as 
> uncacheable is *very* inefficient; there are much better ways of 
> maintaining synchronisation without doing this.

Mark had a good point about wiring the pages so they don't get
swapped, if they are in a swappable region in another thread
discussion DMA.  He also pointed out that if he was talking
about physical pages, that he needs to make sure that they are
either contiguous, or that the DMA region doesn't span a page
boundary.

If the original poster follows -hackers, look for a subject with
"DMA in drivers", since the topic appears to be over similar
general issues.

For that matter, your scatter/gather comments in that thread were
also potentially relevent.


					Terry Lambert
					terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.


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




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