Dave Airlie
dd0c41f8a7
efifb: allow user to disable write combined mapping.
...
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.
Note also most users get a real framebuffer driver loaded when kms
kicks in, it just happens on these machines the kernel didn't support
the gpu specific driver.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Acked-by: Peter Jones <pjones@redhat.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: H. Peter Anvin <hpa@zytor.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
2017-07-31 18:45:41 +02:00
..
ABI
MTD updates for v4.13-rc1:
2017-07-13 12:07:44 -07:00
accounting
acpi
This is the bulk of GPIO changes for the v4.13 series:
2017-07-07 12:40:27 -07:00
admin-guide
Merge branch 'akpm' (patches from Andrew)
2017-07-06 22:27:08 -07:00
aoe
arm
ARM: at91: Documentation: add armv7m families
2017-06-02 10:11:09 +02:00
arm64
IOMMU Updates for Linux v4.13
2017-07-12 10:00:04 -07:00
auxdisplay
backlight
blackfin
block
bio-integrity: fold bio_integrity_enabled to bio_integrity_prep
2017-07-03 16:56:24 -06:00
blockdev
bus-devices
cdrom
cgroup-v1
mm, vmpressure: pass-through notification support
2017-07-10 16:32:31 -07:00
cma
connector
console
core-api
A set of fixes for various warnings, including the one caused by the
2017-07-13 13:44:54 -07:00
cpu-freq
cpufreq: intel_pstate: Document the current behavior and user interface
2017-05-14 02:06:03 +02:00
cpuidle
cris
crypto
KEYS: Add documentation for asymmetric keyring restrictions
2017-07-14 11:01:38 +10:00
dev-tools
linux-kselftest-4.13-rc1-update
2017-07-07 14:04:47 -07:00
device-mapper
dm raid: bump target version
2017-07-25 14:54:20 -04:00
devicetree
Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2017-07-28 12:31:49 -07:00
dmaengine
doc-guide
kernel-doc: describe the `literal` syntax
2017-05-16 08:44:24 -03:00
driver-api
A set of fixes for various warnings, including the one caused by the
2017-07-13 13:44:54 -07:00
driver-model
pci-v4.13-changes
2017-07-08 15:51:57 -07:00
early-userspace
EDID
extcon
fault-injection
fault-inject: add /proc/<pid>/fail-nth
2017-07-14 15:05:13 -07:00
fb
efifb: allow user to disable write combined mapping.
2017-07-31 18:45:41 +02:00
features
powerpc updates for 4.12 part 1.
2017-05-05 11:36:44 -07:00
filesystems
Merge branch 'work.mount' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2017-07-15 12:00:42 -07:00
firmware_class
fmc
fpga
frv
gpio
gpu
main drm pull for v4.13
2017-07-09 18:48:37 -07:00
hid
hwmon
hwmon: (pmbus) move header file out of I2C realm
2017-06-11 17:08:19 -07:00
i2c
i2c: i801: Add support for Intel Cannon Lake
2017-06-19 16:17:41 +02:00
ia64
ide
iio
infiniband
input
A set of fixes for various warnings, including the one caused by the
2017-07-13 13:44:54 -07:00
ioctl
scsi: cxlflash: Introduce host ioctl support
2017-06-26 15:01:11 -04:00
isdn
kbuild
Kbuild thin archives updates for v4.13
2017-07-07 15:11:12 -07:00
kdump
kexec/kdump: minor Documentation updates for arm64 and Image
2017-07-12 16:26:00 -07:00
kernel-hacking
There has been a fair amount of activity in the docs tree this time
2017-07-03 21:13:25 -07:00
laptops
leds
lightnvm
livepatch
locking
m68k
md
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md
2017-05-03 10:05:38 -07:00
media
media updates for v4.13-rc1
2017-07-06 11:15:19 -07:00
memory-devices
metag
mic
mips
misc-devices
mmc
MMC core:
2017-05-02 17:34:32 -07:00
mn10300
mtd
namespaces
netlabel
networking
net: Fix minor code bug in timestamping.txt
2017-07-11 13:34:54 -07:00
nfc
nios2
nvdimm
nvmem
parisc
PCI
docs: update old references for DocBook from the documentation
2017-05-16 08:44:19 -03:00
pcmcia
perf
phy
platform
power
power supply and reset changes for the v4.13 series
2017-07-04 14:25:14 -07:00
powerpc
powerpc updates for 4.13
2017-07-07 13:55:45 -07:00
pps
process
Kbuild thin archives updates for v4.13
2017-07-07 15:11:12 -07:00
pti
ptp
rapidio
RCU
rcu: Remove debugfs tracing
2017-06-08 18:52:43 -07:00
s390
scheduler
sched/deadline: Add documentation about GRUB reclaiming
2017-06-08 10:31:56 +02:00
scsi
security
KEYS: Add documentation for asymmetric keyring restrictions
2017-07-14 11:01:38 +10:00
serial
tty: n_gsm: do not send/receive in ldisc close path
2017-06-03 18:48:52 +09:00
sh
docs-rst: convert sh book to ReST
2017-05-16 08:44:18 -03:00
sound
sound updates for 4.13-rc1
2017-07-06 10:56:51 -07:00
sparc
sphinx
Docs: clean up some DocBook loose ends
2017-06-23 14:17:38 -06:00
sphinx-static
spi
spi: Document SPI slave controller support
2017-05-26 13:11:00 +01:00
sysctl
mm: document highmem_is_dirtyable sysctl
2017-07-10 16:32:32 -07:00
target
thermal
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux
2017-05-12 11:58:45 -07:00
timers
rcu: Eliminate NOCBs CPU-state Kconfig options
2017-06-08 18:52:43 -07:00
trace
A few more minor updates:
2017-07-13 13:17:19 -07:00
translations
kokr/memory-barriers.txt: Fix obsolete link to atomic_ops.txt
2017-07-12 16:56:40 -06:00
usb
usb: gadget: add f_uac1 variant based on a new u_audio api
2017-06-19 09:22:47 +03:00
userspace-api
doc: ReSTify no_new_privs.txt
2017-05-18 10:30:09 -06:00
virtual
kvm: x86: hyperv: make VP_INDEX managed by userspace
2017-07-14 16:28:18 +02:00
vm
ksm: introduce ksm_max_page_sharing per page deduplication limit
2017-07-06 16:24:31 -07:00
w1
watchdog
watchdog: uniphier: add UniPhier watchdog driver
2017-07-03 13:58:55 +02:00
wimax
x86
x86/mce: Update bootlog description to reflect behavior on AMD
2017-06-14 07:32:10 +02:00
xtensa
of: update ePAPR references to point to Devicetree Specification
2017-06-22 11:22:06 -05:00
.gitignore
00-INDEX
linux-kselftest-4.13-rc1-update
2017-07-07 14:04:47 -07:00
bcache.txt
bcache.txt: standardize document format
2017-07-14 13:51:27 -06:00
bt8xxgpio.txt
bt8xxgpio.txt: standardize document format
2017-07-14 13:51:27 -06:00
btmrvl.txt
btmrvl.txt: standardize document format
2017-07-14 13:51:27 -06:00
bus-virt-phys-mapping.txt
bus-virt-phys-mapping.txt: standardize document format
2017-07-14 13:51:28 -06:00
cachetlb.txt
cachetlb.txt: standardize document format
2017-07-14 13:51:28 -06:00
cgroup-v2.txt
cgroup-v2.txt: standardize document format
2017-07-14 13:58:13 -06:00
Changes
circular-buffers.txt
circular-buffers.txt: standardize document format
2017-07-14 13:51:29 -06:00
clk.txt
clk.txt: standardize document format
2017-07-14 13:51:29 -06:00
CodingStyle
conf.py
Docs: Fix breakage with Sphinx 1.5 and upper
2017-06-23 13:45:37 -06:00
cpu-load.txt
cpu-load: standardize document format
2017-07-14 13:51:30 -06:00
cputopology.txt
cputopology.txt: standardize document format
2017-07-14 13:51:30 -06:00
crc32.txt
crc32.txt: standardize document format
2017-07-14 13:51:30 -06:00
dcdbas.txt
dcdbas.txt: standardize document format
2017-07-14 13:51:31 -06:00
debugging-modules.txt
debugging-via-ohci1394.txt
debugging-via-ohci1394.txt: standardize document format
2017-07-14 13:51:34 -06:00
dell_rbu.txt
dell_rbu.txt: standardize document format
2017-07-14 13:58:12 -06:00
digsig.txt
digsig.txt: standardize document format
2017-07-14 13:51:31 -06:00
DMA-API-HOWTO.txt
DMA-API-HOWTO.txt: standardize document format
2017-07-14 13:51:32 -06:00
DMA-API.txt
DMA-API.txt: standardize document format
2017-07-14 13:51:32 -06:00
DMA-attributes.txt
DMA-attributes.txt: standardize document format
2017-07-14 13:51:33 -06:00
DMA-ISA-LPC.txt
DMA-ISA-LPC.txt: standardize document format
2017-07-14 13:51:33 -06:00
docutils.conf
dontdiff
GCC plugin updates:
2017-07-05 11:46:59 -07:00
efi-stub.txt
efi-stub.txt: standardize document format
2017-07-14 13:51:34 -06:00
eisa.txt
eisa.txt: standardize document format
2017-07-14 13:51:34 -06:00
flexible-arrays.txt
flexible-arrays.txt: standardize document format
2017-07-14 13:51:35 -06:00
futex-requeue-pi.txt
futex-requeue-pi.txt: standardize document format
2017-07-14 13:51:35 -06:00
gcc-plugins.txt
gcc-plugins.txt: standardize document format
2017-07-14 13:51:36 -06:00
highuid.txt
highuid.txt: standardize document format
2017-07-14 13:51:36 -06:00
hw_random.txt
hw_random.txt: standardize document format
2017-07-14 13:51:37 -06:00
hwspinlock.txt
hwspinlock.txt: standardize document format
2017-07-14 13:51:37 -06:00
index.rst
Make the main documentation title less Geocities
2017-06-23 14:02:27 -06:00
Intel-IOMMU.txt
Intel-IOMMU.txt: standardize document format
2017-07-14 13:51:38 -06:00
intel_txt.txt
intel_txt.txt: standardize document format
2017-07-14 13:51:38 -06:00
io-mapping.txt
io-mapping.txt: standardize document format
2017-07-14 13:51:38 -06:00
io_ordering.txt
io_ordering.txt: standardize document format
2017-07-14 13:51:39 -06:00
iostats.txt
iostats.txt: update it to cover recent Kernels
2017-07-14 13:51:40 -06:00
IPMI.txt
IPMI.txt: standardize document format
2017-07-14 13:51:40 -06:00
IRQ-affinity.txt
IRQ-affinity.txt: standardize document format
2017-07-14 13:51:41 -06:00
IRQ-domain.txt
IRQ-domain.txt: standardize document format
2017-07-14 13:51:41 -06:00
IRQ.txt
IRQ.txt: add a markup for its title
2017-07-14 13:51:42 -06:00
irqflags-tracing.txt
irqflags-tracing.txt: standardize document format
2017-07-14 13:51:42 -06:00
isa.txt
isa.txt: standardize document format
2017-07-14 13:51:43 -06:00
isapnp.txt
isapnp.txt: promote title level
2017-07-14 13:51:43 -06:00
kernel-doc-nano-HOWTO.txt
docs: update old references for DocBook from the documentation
2017-05-16 08:44:19 -03:00
kernel-per-CPU-kthreads.txt
kernel-per-CPU-kthreads.txt: standardize document format
2017-07-14 13:51:43 -06:00
kobject.txt
kobject.txt: standardize document format
2017-07-14 13:51:44 -06:00
kprobes.txt
docs: kprobes.txt: Fix whitespacing
2017-07-14 13:58:14 -06:00
kref.txt
kref.txt: standardize document format
2017-07-14 13:51:45 -06:00
ldm.txt
ldm.txt: standardize document format
2017-07-14 13:51:45 -06:00
lockup-watchdogs.txt
lockup-watchdogs.txt: standardize document format
2017-07-14 13:51:46 -06:00
logo.gif
logo.txt
lsm.txt
docs-rst: convert lsm from DocBook to ReST
2017-05-16 08:44:19 -03:00
lzo.txt
lzo.txt: standardize document format
2017-07-14 13:51:46 -06:00
mailbox.txt
mailbox.txt: standardize document format
2017-07-14 13:51:47 -06:00
Makefile
docs: remove DocBook from the building system
2017-05-16 08:44:19 -03:00
memory-barriers.txt
A set of fixes for various warnings, including the one caused by the
2017-07-13 13:44:54 -07:00
memory-hotplug.txt
memory-hotplug.txt: standardize document format
2017-07-14 13:57:53 -06:00
men-chameleon-bus.txt
men-chameleon-bus.txt: standardize document format
2017-07-14 13:57:54 -06:00
nommu-mmap.txt
nommu-mmap.txt: don't use all upper case on titles
2017-07-14 13:57:55 -06:00
ntb.txt
This series converts a number of top-level documents to the RST format
2017-07-15 12:58:58 -07:00
numastat.txt
numastat.txt: standardize document format
2017-07-14 13:57:56 -06:00
padata.txt
padata.txt: standardize document format
2017-07-14 13:57:56 -06:00
parport-lowlevel.txt
parport-lowlevel.txt: standardize document format
2017-07-14 13:57:57 -06:00
percpu-rw-semaphore.txt
percpu-rw-semaphore.txt: standardize document format
2017-07-14 13:57:58 -06:00
phy.txt
phy.txt: standardize document format
2017-07-14 13:57:58 -06:00
pi-futex.txt
pi-futex.txt: standardize document format
2017-07-14 13:57:59 -06:00
pnp.txt
pnp.txt: standardize document format
2017-07-14 13:57:59 -06:00
preempt-locking.txt
preempt-locking.txt: standardize document format
2017-07-14 13:58:00 -06:00
printk-formats.txt
printk-formats.txt: standardize document format
2017-07-14 13:58:00 -06:00
pwm.txt
pwm: Standardize document format
2017-07-06 08:23:30 +02:00
rbtree.txt
rbtree.txt: standardize document format
2017-07-14 13:58:01 -06:00
remoteproc.txt
remoteproc.txt: standardize document format
2017-07-14 13:58:02 -06:00
rfkill.txt
rfkill.txt: standardize document format
2017-07-14 13:58:02 -06:00
robust-futex-ABI.txt
robust-futex-ABI.txt: standardize document format
2017-07-14 13:58:03 -06:00
robust-futexes.txt
robust-futexes.txt: standardize document format
2017-07-14 13:58:03 -06:00
rpmsg.txt
rpmsg.txt: standardize document format
2017-07-14 13:58:04 -06:00
rtc.txt
rtc: add generic nvmem support
2017-07-07 13:14:14 +02:00
SAK.txt
SAK.txt: standardize document format
2017-07-14 13:58:04 -06:00
sgi-ioc4.txt
sgi-ioc4.txt: standardize document format
2017-07-14 13:58:05 -06:00
siphash.txt
siphash.txt: standardize document format
2017-07-14 13:58:06 -06:00
SM501.txt
SM501.txt: standardize document format
2017-07-14 13:58:06 -06:00
smsc_ece1099.txt
smsc_ece1099.txt: standardize document format
2017-07-14 13:58:07 -06:00
static-keys.txt
static-keys.txt: standardize document format
2017-07-14 13:58:07 -06:00
SubmittingPatches
svga.txt
svga.txt: standardize document format
2017-07-14 13:58:08 -06:00
switchtec.txt
sync_file.txt
sync_file.txt: standardize document format
2017-05-24 13:01:27 -03:00
tee.txt
tee.txt: standardize document format
2017-07-14 13:58:14 -06:00
this_cpu_ops.txt
this_cpu_ops.txt: standardize document format
2017-07-14 13:58:08 -06:00
unaligned-memory-access.txt
unaligned-memory-access.txt: standardize document format
2017-07-14 13:58:09 -06:00
vfio-mediated-device.txt
vfio-mediated-device.txt: standardize document format
2017-07-14 13:58:10 -06:00
vfio.txt
vfio.txt: standardize document format
2017-07-14 13:58:10 -06:00
video-output.txt
xillybus.txt
xillybus.txt: standardize document format
2017-07-14 13:58:11 -06:00
xz.txt
xz.txt: standardize document format
2017-07-14 13:58:11 -06:00
zorro.txt
zorro.txt: standardize document format
2017-07-14 13:58:12 -06:00