On Mon, 2019-10-21 at 08:39 +0200, Christian Zigotzky wrote: > > > Hi Ben, > > I think it isn’t good to use the kernel config option > "CONFIG_NOT_COHERENT_CACHE" if the system is coherent, is it? > > We tested the kernel with "CONFIG_NOT_COHERENT_CACHE" yesterday but > we didn’t find any differences to the coherent kernel. > > Could you please explain us the difference between the coherent and > not coherent kernel? So first, ideally, we should make this a runtime mechanism... historical crap. Fundamentally when you set CONFIG_NOT_COHERENT_CACHE you tell the kernel that your processor isn't snooping the bus for DMA accesses colliding with the caches. Thus SW has to explicitly maintain cache coherency around DMA operations by invalidating or flushing the cache accordingly and by keeping pool(s) of non-cachable memory around to use for the consistent allocator. This slows things down. Cheers, Ben.