coherence-problem on the mapped memory buffer

Andriy Gapon avg at icyb.net.ua
Thu Jul 29 22:09:25 UTC 2010


on 30/07/2010 00:41 Alexander Fiveg said the following:
> Thanks a lot for your answers. But  i am afraid i do not have enough 
> experience to solve these tasks. Could you please provide me with helpful 
> information how to: 
> - get access to the pages associated with a certain memory-buffer ? 
> I mean, I want to get the structures, that describe the page properties I 
> should change (for instance, in order to make the page non-cacheable).
> 
> if you are aware of any good papers or examples in the system code, where 
> these topics are covered, I would appreciate it if you gave me the 
> references. 

I don't have a recipe, but some pointers to get you started:
1. investigate BUS_DMA_NOCACHE, see bus_dma(9)
2. check sys/dev/sound/pci/hda/hdac.c for HDAC_F_DMA_NOCACHE and comment about
PCIe snoop - this might be relevenat
3. see pmap_change_attr for way to change caching type for a memory mapping
4. hope that more knowledgeable people (experts) provide their advice, keep
nudging them via mailing list(s) :-)

-- 
Andriy Gapon


More information about the freebsd-hackers mailing list