On 19 July 2017 at 00:34, Peter Jones <pjones@xxxxxxxxxx> wrote: > On Tue, Jul 18, 2017 at 04:09:09PM +1000, Dave Airlie wrote: >> This patch allows the user to disable write combined mapping >> of the efifb framebuffer console using an nowc option. >> >> A customer noticed major slowdowns while logging to the console >> with write combining enabled, on other tasks running on the same >> CPU. (10x or greater slow down on all other cores on the same CPU >> as is doing the logging). >> >> I reproduced this on a machine with dual CPUs. >> Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz (6 core) >> >> I wrote a test that just mmaps the pci bar and writes to it in >> a loop, while this was running in the background one a single >> core with (taskset -c 1), building a kernel up to init/version.o >> (taskset -c 8) went from 13s to 133s or so. I've yet to explain >> why this occurs or what is going wrong I haven't managed to find >> a perf command that in any way gives insight into this. >> >> 11,885,070,715 instructions # 1.39 insns per cycle >> vs >> 12,082,592,342 instructions # 0.13 insns per cycle >> >> is the only thing I've spotted of interest, I've tried at least: >> dTLB-stores,dTLB-store-misses,L1-dcache-stores,LLC-store,LLC-store-misses,LLC-load-misses,LLC-loads,\mem-loads,mem-stores,iTLB-loads,iTLB-load-misses,cache-references,cache-misses >> >> For now it seems at least a good idea to allow a user to disable write >> combining if they see this until we can figure it out. > > Well, that's kind of amazing, given 3c004b4f7eab239e switched us /to/ > using ioremap_wc() for the exact same reason. I'm not against letting > the user force one way or the other if it helps, though it sure would be > nice to know why. > > Anyway, > > Acked-By: Peter Jones <pjones@xxxxxxxxxx> > > Bartlomiej, do you want to handle this in your devel tree? I'm happy to stick this in a drm-fixes pull with this ack. Dave. -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html