[LEDE-DEV] lantiq: reduced throughput with SMP disabled

Antti Seppälä a.seppala at gmail.com
Fri Aug 5 04:57:00 PDT 2016


On 4 August 2016 at 16:45, Felix Fietkau <nbd at nbd.name> wrote:
> On 2016-08-04 15:40, James Finnie wrote:
>>> Please test the latest version of my staging tree at
>>> https://git.lede-project.org/?p=lede/nbd/staging.git;a=summary
>>
>> I built an image with your r1251 from staging, it indeed has the
>> performance increase expected for SMP.  I can't test the wifi ath9k
>> changes until this evening, though I understand (not my own testing)
>> that these ethernet fixes for SMP with multiple NICs still cause some
>> issues (though not as severe as before).
> I need to know what those remaining issues are.
> Got a link or contact info for me?
>

Hi Felix.

I don't know if this is related or not but I've observed that if
CONFIG_KERNEL_PROVE_LOCKING is enabled together with SMP the following
kernel bug warning appears sometimes during nand probe in bootup
(Zyxel P2812HNU-F1):

[    0.872462] bootconsole [early0] disabled
[    0.887856] BUG: spinlock wrong CPU on CPU#1, swapper/0/1
[    0.892065]  lock: ebu_lock+0x0/0x20, .magic: dead4ead, .owner:
swapper/0/1, .owner_cpu: 0
[    0.900286] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.13 #1
[    0.906101] Stack : 80f52c5a 00000033 0000004e 00000000 80f52c5a
00000000 80087498 00000000
 878302f8 8064b493 805900fc 00000001 00000001 807a3a10 00000000 807a0000
 00000008 80087498 00000000 00000000 80f52c5a 00000000 8059a2f0 87823c2c
 80f52c5a 80084f98 80087498 00000040 87830000 00000000 80640000 87823c00
 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
 ...
[    0.941605] Call Trace:
[    0.944080] [<8001c234>] show_stack+0x50/0x84
[    0.948428] [<80213f0c>] dump_stack+0x128/0x1b0
[    0.952962] [<80082c9c>] do_raw_spin_unlock+0xcc/0xfc
[    0.958008] [<8000f174>] _raw_spin_unlock_irqrestore+0x30/0x88
[    0.963851] [<802b35b0>] xway_nand_probe+0x12c/0x154
[    0.968794] [<802b30f0>] plat_nand_probe+0x16c/0x25c
[    0.973763] [<8028a960>] platform_drv_probe+0x28/0x6c
[    0.978801] [<80288d0c>] driver_probe_device+0x220/0x4fc
[    0.984111] [<80289068>] __driver_attach+0x80/0xb8
[    0.988897] [<80286910>] bus_for_each_dev+0x64/0xc0
[    0.993773] [<80287f78>] bus_add_driver+0x12c/0x284
[    0.998647] [<80289688>] driver_register+0xac/0x104
[    1.003526] [<8000fda0>] do_one_initcall+0x170/0x250
[    1.008499] [<8066edf8>] kernel_init_freeable+0x174/0x244
[    1.013891] [<80007260>] kernel_init+0x14/0x118
[    1.018404] [<80002478>] ret_from_kernel_thread+0x14/0x1c
[    1.023784]
[    1.025428] nand: device found, Manufacturer ID: 0xec, Chip ID: 0xf1
[    1.031618] nand: Samsung NAND 128MiB 3,3V 8-bit
[    1.036239] nand: 128 MiB, SLC, erase size: 128 KiB, page size:
2048, OOB size: 64

I guess that ebu_lock is not really smp safe for some reason.

Br,
-Antti



More information about the Lede-dev mailing list