On 2016-01-19 10:38, Russell King - ARM Linux wrote:
On Tue, Jan 19, 2016 at 12:14:59AM +0100, Felix Fietkau wrote:
quoted
I just wasted a few hours debugging user space hangs after updating my
CNS3xxx device to Linux 4.4 - until I found this:
http://www.spinics.net/lists/arm-kernel/msg450888.html
Sorry about that. What you've found is an investigatory patch, not
a fix for it.
quoted
I haven't seen any follow-up patches since that discussion in October,
and this patch resolves the issue in my test.
If you read the remainder of the thread, you'll notice that there was
discussion about the problem and that isn't a proper fix.
quoted
Could you guys please get this merged and pushed to stable to avoid
wasting other people's time as well?
No one understands what's going on with ARM11 MPcore (not even ARM Ltd
people). We certainly do not want to add the expense of writing to
the DACR each and every time we want to do a TLB flush, and as Will
said at the end of the thread, it should be predicated on ARM11 MPcore.
We don't know which revisions of ARM11 MPcore are affected.
Please can you provide your boot messages so we can see what revision
11MPcore you have in your device. Thanks.
[ 0.000000] Booting Linux on physical CPU 0x900
[ 0.000000] Linux version 4.4.0 (nbd at nf.lan) (gcc version 5.2.0 (OpenWrt GCC 5.2.0 r48326) ) #8 SMP Tue Jan 19 00:06:54 CET 2016
[ 0.000000] CPU: ARMv6-compatible processor [410fb024] revision 4 (ARMv7), cr=00c5787d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Gateworks Corporation Laguna Platform
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] PERCPU: Embedded 12 pages/cpu @c7edb000 s16512 r8192 d24448 u49152
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512
[ 0.000000] Kernel command line: console=ttyS0,115200 root=/dev/mtdblock3 rootfstype=squashfs,jffs2 noinitrd init=/etc/preinit
[ 0.000000] PID hash table entries: 512 (order: -1, 2048 bytes)
[ 0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[ 0.000000] Memory: 119144K/131072K available (3510K kernel code, 100K rwdata, 936K rodata, 5896K init, 202K bss, 11928K reserved, 0K cma-reserved)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB)
[ 0.000000] vmalloc : 0xc8800000 - 0xff800000 ( 880 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xc8000000 ( 128 MB)
[ 0.000000] modules : 0xbf000000 - 0xc0000000 ( 16 MB)
[ 0.000000] .text : 0xc0008000 - 0xc045fe6c (4448 kB)
[ 0.000000] .init : 0xc0460000 - 0xc0a22000 (5896 kB)
[ 0.000000] .data : 0xc0a22000 - 0xc0a3b280 ( 101 kB)
[ 0.000000] .bss : 0xc0a3b280 - 0xc0a6daac ( 203 kB)
[ 0.000000] Hierarchical RCU implementation.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] clocksource: freerun: mask: 0xffffffffffff max_cycles: 0x179dd7f66, max_idle_ns: 28210892933900 ns
[ 0.000000] smp_twd: clock not found -2
[ 0.000000] sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 21474836475000000ns
[ 0.130000] console [ttyS0] enabled
[ 0.140000] Calibrating local timer... 299.92MHz.
[ 0.200000] Calibrating delay loop... 238.38 BogoMIPS (lpj=1191936)
[ 0.270000] pid_max: default: 32768 minimum: 301
[ 0.270000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.280000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.290000] CPU: Testing write buffer coherency: ok
[ 0.290000] Setting up static identity map for 0x20008280 - 0x200082b8
[ 0.370000] Brought up 2 CPUs
[ 0.370000] SMP: Total of 2 processors activated (478.00 BogoMIPS).
[ 0.380000] VFP support v0.3: implementor 41 architecture 1 part 20 variant b rev 4
[ 0.390000] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
173 more lines