On 04-06-15, 11:38, Preeti U Murthy wrote:
And a crash at the cpufreq worker thread again due to data access exception when I change governors in parallel on a single core.
cpu 0x3: Vector: 300 (Data Access) at [c000000fedb538f0] pc: c000000000856750: od_dbs_timer+0x60/0x1e0 lr: c0000000000f489c: process_one_work+0x24c/0x910 sp: c000000fedb53b70 msr: 9000000100009033 dar: 10 dsisr: 40000000 current = 0xc000000fe3d128e0 paca = 0xc000000007da1c80 softe: 0 irq_happened: 0x01 pid = 17227, comm = kworker/3:1
With the backtrace being:
[c000000fedb53be0] c0000000000f489c process_one_work+0x24c/0x910 [c000000fedb53c90] c0000000000f50dc worker_thread+0x17c/0x540 [c000000fedb53d20] c0000000000fed70 kthread+0x120/0x140 [c000000fedb53e30] c000000000009678 ret_from_kernel_thread+0x5c/0x64
But the kernel stays sane longer than before with the patchset. The above crash happens around 15 seconds after the test begins, while earlier it wouldn't survive 2 seconds even.
I haven't attempted to solve the race between the worker threads and governor-callbacks yet. What I have tried to solve is the race between different callbacks. And you shouldn't see a race there for now. For example a race between INIT/EXIT/START/STOP/LIMITS.