* Xenomai 4 IMX8MM @ 2022-08-03 21:13 Gabriel Durante 2022-08-04 12:44 ` Philippe Gerum 0 siblings, 1 reply; 5+ messages in thread From: Gabriel Durante @ 2022-08-03 21:13 UTC (permalink / raw) To: xenomai Hi, I'm using linux-evl from v5.18-evl3-rebase (e62dfc7884fc99bb3bfe5cdd0d69f99b5616d30e) Everything works fine with evl check, evl test, hectic and latmus except with sched-quota-accuracy test which kernel hangs (all other tests are ok): [ 2341.500412] edt_ft5x06 2-0038: Unable to fetch data, error: -110 Apart of that, I'm getting an irq chip not pipeline-safe, even the driver setting it; gpio-mxc.c IRQCHIP_PIPELINE_SAFE: [ 1.742046] ------------[ cut here ]------------ [ 1.742053] irqchip 1-0020 is not pipeline-safe! [ 1.742079] WARNING: CPU: 3 PID: 1 at kernel/irq/chip.c:52 irq_set_chip+0xc0/0xdc [ 1.742100] Modules linked in: [ 1.742111] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.18.0 #1 [ 1.742117] Hardware name: Variscite VAR-SOM-MX8MM Symphony evaluation board (DT) [ 1.742121] IRQ stage: Linux [ 1.742125] pstate: 400000c5 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 1.742133] pc : irq_set_chip+0xc0/0xdc [ 1.742141] lr : irq_set_chip+0xc0/0xdc [ 1.742147] sp : ffff8000096db950 [ 1.742150] x29: ffff8000096db950 x28: ffff00007fc05168 x27: ffff0000023e50b0 [ 1.742160] x26: 0000000000000000 x25: ffff0000023e5080 x24: ffff8000095727d0 [ 1.742170] x23: 00000000000000dd x22: 0000000000000000 x21: ffff000002090000 [ 1.742179] x20: ffff0000035f48f0 x19: ffff0000023e5200 x18: 0000000000000030 [ 1.742188] x17: 00000000c03e3109 x16: 0000000067c91974 x15: fffffffffffe4120 [ 1.742196] x14: ffffffffffffffff x13: 21656661732d656e x12: 696c657069702074 [ 1.742205] x11: ffff8000095020b0 x10: 2d2d2d2d2d2d2d2d x9 : ffff8000096db950 [ 1.742214] x8 : ffff800009502068 x7 : ffff8000096db800 x6 : ffff8000096db800 [ 1.742223] x5 : ffff00007fba6a50 x4 : 0000000000000000 x3 : 0000000000000027 [ 1.742232] x2 : 0000000000000023 x1 : 17f73e9a6bbe4000 x0 : 0000000000000000 [ 1.742242] Call trace: [ 1.742245] irq_set_chip+0xc0/0xdc [ 1.742253] irq_set_chip_and_handler_name+0x34/0x9c [ 1.742262] gpiochip_irq_map+0x54/0x110 [ 1.742272] irq_domain_associate+0x7c/0x1f0 [ 1.742280] irq_create_mapping_affinity+0xe8/0x140 [ 1.742287] gpiochip_to_irq+0xac/0xc4 [ 1.742293] gpiod_to_irq+0x54/0x90 [ 1.742299] gpio_keys_probe+0x544/0x984 [ 1.742308] platform_probe+0x68/0xe0 [ 1.742316] really_probe.part.0+0x9c/0x29c [ 1.742326] __driver_probe_device+0x98/0x144 [ 1.742333] driver_probe_device+0xac/0x140 [ 1.742340] __driver_attach+0xf8/0x190 [ 1.742347] bus_for_each_dev+0x70/0xc0 [ 1.742356] driver_attach+0x24/0x30 [ 1.742363] bus_add_driver+0x14c/0x1f0 [ 1.742369] driver_register+0x78/0x130 [ 1.742377] __platform_driver_register+0x28/0x34 [ 1.742386] gpio_keys_init+0x1c/0x28 [ 1.742397] do_one_initcall+0x54/0x1bc [ 1.742404] kernel_init_freeable+0x210/0x294 [ 1.742414] kernel_init+0x28/0x13c [ 1.742424] ret_from_fork+0x10/0x20 [ 1.742431] ---[ end trace 0000000000000000 ]--- cmdline isolcpus=1 evl.oob_cpus=1 Also tried with LTS version (v5.15.57-evl1-rebase b693debdc082dcde2c0071c371f6e58e1702f360) Same behavior Any hints ? Thanks Regards Gabriel ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Xenomai 4 IMX8MM 2022-08-03 21:13 Xenomai 4 IMX8MM Gabriel Durante @ 2022-08-04 12:44 ` Philippe Gerum 2022-08-04 13:40 ` Gabriel Durante 0 siblings, 1 reply; 5+ messages in thread From: Philippe Gerum @ 2022-08-04 12:44 UTC (permalink / raw) To: Gabriel Durante; +Cc: xenomai Gabriel Durante <gabriel@neuraldsp.com> writes: > Hi, > > I'm using linux-evl from v5.18-evl3-rebase > (e62dfc7884fc99bb3bfe5cdd0d69f99b5616d30e) > > Everything works fine with evl check, evl test, hectic and latmus > except with sched-quota-accuracy test which kernel hangs (all other > tests are ok): > > [ 2341.500412] edt_ft5x06 2-0038: Unable to fetch data, error: -110 > > Apart of that, I'm getting an irq chip not pipeline-safe, even the > driver setting it; gpio-mxc.c IRQCHIP_PIPELINE_SAFE: > > [ 1.742046] ------------[ cut here ]------------ > [ 1.742053] irqchip 1-0020 is not pipeline-safe! > [ 1.742079] WARNING: CPU: 3 PID: 1 at kernel/irq/chip.c:52 > irq_set_chip+0xc0/0xdc > [ 1.742100] Modules linked in: > [ 1.742111] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.18.0 #1 > [ 1.742117] Hardware name: Variscite VAR-SOM-MX8MM Symphony > evaluation board (DT) > [ 1.742121] IRQ stage: Linux > [ 1.742125] pstate: 400000c5 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) > [ 1.742133] pc : irq_set_chip+0xc0/0xdc > [ 1.742141] lr : irq_set_chip+0xc0/0xdc > [ 1.742147] sp : ffff8000096db950 > [ 1.742150] x29: ffff8000096db950 x28: ffff00007fc05168 x27: ffff0000023e50b0 > [ 1.742160] x26: 0000000000000000 x25: ffff0000023e5080 x24: ffff8000095727d0 > [ 1.742170] x23: 00000000000000dd x22: 0000000000000000 x21: ffff000002090000 > [ 1.742179] x20: ffff0000035f48f0 x19: ffff0000023e5200 x18: 0000000000000030 > [ 1.742188] x17: 00000000c03e3109 x16: 0000000067c91974 x15: fffffffffffe4120 > [ 1.742196] x14: ffffffffffffffff x13: 21656661732d656e x12: 696c657069702074 > [ 1.742205] x11: ffff8000095020b0 x10: 2d2d2d2d2d2d2d2d x9 : ffff8000096db950 > [ 1.742214] x8 : ffff800009502068 x7 : ffff8000096db800 x6 : ffff8000096db800 > [ 1.742223] x5 : ffff00007fba6a50 x4 : 0000000000000000 x3 : 0000000000000027 > [ 1.742232] x2 : 0000000000000023 x1 : 17f73e9a6bbe4000 x0 : 0000000000000000 > [ 1.742242] Call trace: > [ 1.742245] irq_set_chip+0xc0/0xdc > [ 1.742253] irq_set_chip_and_handler_name+0x34/0x9c > [ 1.742262] gpiochip_irq_map+0x54/0x110 > [ 1.742272] irq_domain_associate+0x7c/0x1f0 > [ 1.742280] irq_create_mapping_affinity+0xe8/0x140 > [ 1.742287] gpiochip_to_irq+0xac/0xc4 > [ 1.742293] gpiod_to_irq+0x54/0x90 > [ 1.742299] gpio_keys_probe+0x544/0x984 > [ 1.742308] platform_probe+0x68/0xe0 > [ 1.742316] really_probe.part.0+0x9c/0x29c > [ 1.742326] __driver_probe_device+0x98/0x144 > [ 1.742333] driver_probe_device+0xac/0x140 > [ 1.742340] __driver_attach+0xf8/0x190 > [ 1.742347] bus_for_each_dev+0x70/0xc0 > [ 1.742356] driver_attach+0x24/0x30 > [ 1.742363] bus_add_driver+0x14c/0x1f0 > [ 1.742369] driver_register+0x78/0x130 > [ 1.742377] __platform_driver_register+0x28/0x34 > [ 1.742386] gpio_keys_init+0x1c/0x28 > [ 1.742397] do_one_initcall+0x54/0x1bc > [ 1.742404] kernel_init_freeable+0x210/0x294 > [ 1.742414] kernel_init+0x28/0x13c > [ 1.742424] ret_from_fork+0x10/0x20 > [ 1.742431] ---[ end trace 0000000000000000 ]--- > > cmdline isolcpus=1 evl.oob_cpus=1 > > Also tried with LTS version (v5.15.57-evl1-rebase > b693debdc082dcde2c0071c371f6e58e1702f360) > Same behavior > > Any hints ? > > Thanks > Regards > Gabriel Gabriel Durante <gabriel@neuraldsp.com> writes: > Hi, > > I'm using linux-evl from v5.18-evl3-rebase > (e62dfc7884fc99bb3bfe5cdd0d69f99b5616d30e) > > Everything works fine with evl check, evl test, hectic and latmus > except with sched-quota-accuracy test which kernel hangs (all other > tests are ok): > > [ 2341.500412] edt_ft5x06 2-0038: Unable to fetch data, error: -110 > > Apart of that, I'm getting an irq chip not pipeline-safe, even the > driver setting it; gpio-mxc.c IRQCHIP_PIPELINE_SAFE: > > [ 1.742046] ------------[ cut here ]------------ > [ 1.742053] irqchip 1-0020 is not pipeline-safe! > [ 1.742079] WARNING: CPU: 3 PID: 1 at kernel/irq/chip.c:52 > irq_set_chip+0xc0/0xdc > [ 1.742100] Modules linked in: > [ 1.742111] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.18.0 #1 > [ 1.742117] Hardware name: Variscite VAR-SOM-MX8MM Symphony > evaluation board (DT) > [ 1.742121] IRQ stage: Linux > [ 1.742125] pstate: 400000c5 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) > [ 1.742133] pc : irq_set_chip+0xc0/0xdc > [ 1.742141] lr : irq_set_chip+0xc0/0xdc > [ 1.742147] sp : ffff8000096db950 > [ 1.742150] x29: ffff8000096db950 x28: ffff00007fc05168 x27: ffff0000023e50b0 > [ 1.742160] x26: 0000000000000000 x25: ffff0000023e5080 x24: ffff8000095727d0 > [ 1.742170] x23: 00000000000000dd x22: 0000000000000000 x21: ffff000002090000 > [ 1.742179] x20: ffff0000035f48f0 x19: ffff0000023e5200 x18: 0000000000000030 > [ 1.742188] x17: 00000000c03e3109 x16: 0000000067c91974 x15: fffffffffffe4120 > [ 1.742196] x14: ffffffffffffffff x13: 21656661732d656e x12: 696c657069702074 > [ 1.742205] x11: ffff8000095020b0 x10: 2d2d2d2d2d2d2d2d x9 : ffff8000096db950 > [ 1.742214] x8 : ffff800009502068 x7 : ffff8000096db800 x6 : ffff8000096db800 > [ 1.742223] x5 : ffff00007fba6a50 x4 : 0000000000000000 x3 : 0000000000000027 > [ 1.742232] x2 : 0000000000000023 x1 : 17f73e9a6bbe4000 x0 : 0000000000000000 > [ 1.742242] Call trace: > [ 1.742245] irq_set_chip+0xc0/0xdc > [ 1.742253] irq_set_chip_and_handler_name+0x34/0x9c > [ 1.742262] gpiochip_irq_map+0x54/0x110 > [ 1.742272] irq_domain_associate+0x7c/0x1f0 > [ 1.742280] irq_create_mapping_affinity+0xe8/0x140 > [ 1.742287] gpiochip_to_irq+0xac/0xc4 > [ 1.742293] gpiod_to_irq+0x54/0x90 > [ 1.742299] gpio_keys_probe+0x544/0x984 > [ 1.742308] platform_probe+0x68/0xe0 > [ 1.742316] really_probe.part.0+0x9c/0x29c > [ 1.742326] __driver_probe_device+0x98/0x144 > [ 1.742333] driver_probe_device+0xac/0x140 > [ 1.742340] __driver_attach+0xf8/0x190 > [ 1.742347] bus_for_each_dev+0x70/0xc0 > [ 1.742356] driver_attach+0x24/0x30 > [ 1.742363] bus_add_driver+0x14c/0x1f0 > [ 1.742369] driver_register+0x78/0x130 > [ 1.742377] __platform_driver_register+0x28/0x34 > [ 1.742386] gpio_keys_init+0x1c/0x28 > [ 1.742397] do_one_initcall+0x54/0x1bc > [ 1.742404] kernel_init_freeable+0x210/0x294 > [ 1.742414] kernel_init+0x28/0x13c > [ 1.742424] ret_from_fork+0x10/0x20 > [ 1.742431] ---[ end trace 0000000000000000 ]--- > > cmdline isolcpus=1 evl.oob_cpus=1 > > Also tried with LTS version (v5.15.57-evl1-rebase > b693debdc082dcde2c0071c371f6e58e1702f360) > Same behavior This looks like the name of an i2c device (1-0020), which would be the client of a GPIO key interface. dts says your evb has a pca9534 GPIO expander on board. Welcome to the maze. This expander is a no-brainer wrt IRQ pipelining though, so let's try this: diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c index 33683295a0bf..03ba6386b9bd 100644 --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c @@ -853,6 +853,7 @@ static int pca953x_irq_setup(struct pca953x_chip *chip, int irq_base) irq_chip->irq_bus_sync_unlock = pca953x_irq_bus_sync_unlock; irq_chip->irq_set_type = pca953x_irq_set_type; irq_chip->irq_shutdown = pca953x_irq_shutdown; + irq_chip->flags = IRQCHIP_PIPELINE_SAFE; girq = &chip->gpio_chip.irq; girq->chip = irq_chip; Please let me know if that helps. Thanks, -- Philippe. ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: Xenomai 4 IMX8MM 2022-08-04 12:44 ` Philippe Gerum @ 2022-08-04 13:40 ` Gabriel Durante 2022-08-04 14:39 ` Philippe Gerum 0 siblings, 1 reply; 5+ messages in thread From: Gabriel Durante @ 2022-08-04 13:40 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai Thanks Philippe, IRQCHIP_PIPELINE_SAFE flag on gpio-pca953x.c did the trick, no issues on dmesg. Now only the issue (kernel hangs) with edt_ft5x06 loaded while running sched-quota-accuracy. [ 2341.500412] edt_ft5x06 2-0038: Unable to fetch data, error: -110 If rmmod edt_ft5x06, all tests work fine. basic-xbuf: OK clock-timer-periodic: OK clone-fork-exec: OK detach-self: OK duplicate-element: OK element-visibility: OK fault: OK fpu-preload: OK fpu-stress: OK heap-torture: OK mapfd: OK monitor-deadlock: OK monitor-event: OK monitor-flags: OK monitor-pi: OK monitor-pi-deadlock: OK monitor-pp-dynamic: OK monitor-pp-lower: OK monitor-pp-nested: OK monitor-pp-pi: OK monitor-pp-raise: OK monitor-pp-tryenter: OK monitor-pp-weak: OK monitor-steal: OK monitor-wait-multiple: OK observable-hm: OK observable-inband: OK observable-master: OK observable-onchange: OK observable-oob: OK observable-race: OK observable-thread: OK poll-close: OK poll-flags: OK poll-many: OK poll-multiple: OK poll-nested: OK poll-observable-inband: OK poll-observable-oob: OK poll-sem: OK poll-xbuf: OK proxy-echo: OK proxy-eventfd: OK proxy-pipe: OK proxy-poll: OK sched-quota-accuracy: OK sched-tp-accuracy: OK sem-close-unblock: OK sem-timedwait: OK sem-wait: OK simple-clone: OK stax-lock: OK stax-warn: OK thread-mode-bits: OK clock-timer-periodic.eshi: OK detach-self.eshi: OK heap-torture.eshi: OK monitor-event.eshi: OK monitor-flags.eshi: OK monitor-wait-multiple.eshi: OK poll-nested.eshi: OK poll-sem.eshi: OK proxy-eventfd.eshi: OK proxy-pipe.eshi: OK sem-timedwait.eshi: OK sem-wait.eshi: OK Thanks Regards Gabriel On Thu, Aug 4, 2022 at 9:44 AM Philippe Gerum <rpm@xenomai.org> wrote: > > > Gabriel Durante <gabriel@neuraldsp.com> writes: > > > Hi, > > > > I'm using linux-evl from v5.18-evl3-rebase > > (e62dfc7884fc99bb3bfe5cdd0d69f99b5616d30e) > > > > Everything works fine with evl check, evl test, hectic and latmus > > except with sched-quota-accuracy test which kernel hangs (all other > > tests are ok): > > > > [ 2341.500412] edt_ft5x06 2-0038: Unable to fetch data, error: -110 > > > > Apart of that, I'm getting an irq chip not pipeline-safe, even the > > driver setting it; gpio-mxc.c IRQCHIP_PIPELINE_SAFE: > > > > [ 1.742046] ------------[ cut here ]------------ > > [ 1.742053] irqchip 1-0020 is not pipeline-safe! > > [ 1.742079] WARNING: CPU: 3 PID: 1 at kernel/irq/chip.c:52 > > irq_set_chip+0xc0/0xdc > > [ 1.742100] Modules linked in: > > [ 1.742111] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.18.0 #1 > > [ 1.742117] Hardware name: Variscite VAR-SOM-MX8MM Symphony > > evaluation board (DT) > > [ 1.742121] IRQ stage: Linux > > [ 1.742125] pstate: 400000c5 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) > > [ 1.742133] pc : irq_set_chip+0xc0/0xdc > > [ 1.742141] lr : irq_set_chip+0xc0/0xdc > > [ 1.742147] sp : ffff8000096db950 > > [ 1.742150] x29: ffff8000096db950 x28: ffff00007fc05168 x27: ffff0000023e50b0 > > [ 1.742160] x26: 0000000000000000 x25: ffff0000023e5080 x24: ffff8000095727d0 > > [ 1.742170] x23: 00000000000000dd x22: 0000000000000000 x21: ffff000002090000 > > [ 1.742179] x20: ffff0000035f48f0 x19: ffff0000023e5200 x18: 0000000000000030 > > [ 1.742188] x17: 00000000c03e3109 x16: 0000000067c91974 x15: fffffffffffe4120 > > [ 1.742196] x14: ffffffffffffffff x13: 21656661732d656e x12: 696c657069702074 > > [ 1.742205] x11: ffff8000095020b0 x10: 2d2d2d2d2d2d2d2d x9 : ffff8000096db950 > > [ 1.742214] x8 : ffff800009502068 x7 : ffff8000096db800 x6 : ffff8000096db800 > > [ 1.742223] x5 : ffff00007fba6a50 x4 : 0000000000000000 x3 : 0000000000000027 > > [ 1.742232] x2 : 0000000000000023 x1 : 17f73e9a6bbe4000 x0 : 0000000000000000 > > [ 1.742242] Call trace: > > [ 1.742245] irq_set_chip+0xc0/0xdc > > [ 1.742253] irq_set_chip_and_handler_name+0x34/0x9c > > [ 1.742262] gpiochip_irq_map+0x54/0x110 > > [ 1.742272] irq_domain_associate+0x7c/0x1f0 > > [ 1.742280] irq_create_mapping_affinity+0xe8/0x140 > > [ 1.742287] gpiochip_to_irq+0xac/0xc4 > > [ 1.742293] gpiod_to_irq+0x54/0x90 > > [ 1.742299] gpio_keys_probe+0x544/0x984 > > [ 1.742308] platform_probe+0x68/0xe0 > > [ 1.742316] really_probe.part.0+0x9c/0x29c > > [ 1.742326] __driver_probe_device+0x98/0x144 > > [ 1.742333] driver_probe_device+0xac/0x140 > > [ 1.742340] __driver_attach+0xf8/0x190 > > [ 1.742347] bus_for_each_dev+0x70/0xc0 > > [ 1.742356] driver_attach+0x24/0x30 > > [ 1.742363] bus_add_driver+0x14c/0x1f0 > > [ 1.742369] driver_register+0x78/0x130 > > [ 1.742377] __platform_driver_register+0x28/0x34 > > [ 1.742386] gpio_keys_init+0x1c/0x28 > > [ 1.742397] do_one_initcall+0x54/0x1bc > > [ 1.742404] kernel_init_freeable+0x210/0x294 > > [ 1.742414] kernel_init+0x28/0x13c > > [ 1.742424] ret_from_fork+0x10/0x20 > > [ 1.742431] ---[ end trace 0000000000000000 ]--- > > > > cmdline isolcpus=1 evl.oob_cpus=1 > > > > Also tried with LTS version (v5.15.57-evl1-rebase > > b693debdc082dcde2c0071c371f6e58e1702f360) > > Same behavior > > > > Any hints ? > > > > Thanks > > Regards > > Gabriel > > > Gabriel Durante <gabriel@neuraldsp.com> writes: > > > Hi, > > > > I'm using linux-evl from v5.18-evl3-rebase > > (e62dfc7884fc99bb3bfe5cdd0d69f99b5616d30e) > > > > Everything works fine with evl check, evl test, hectic and latmus > > except with sched-quota-accuracy test which kernel hangs (all other > > tests are ok): > > > > [ 2341.500412] edt_ft5x06 2-0038: Unable to fetch data, error: -110 > > > > Apart of that, I'm getting an irq chip not pipeline-safe, even the > > driver setting it; gpio-mxc.c IRQCHIP_PIPELINE_SAFE: > > > > [ 1.742046] ------------[ cut here ]------------ > > [ 1.742053] irqchip 1-0020 is not pipeline-safe! > > [ 1.742079] WARNING: CPU: 3 PID: 1 at kernel/irq/chip.c:52 > > irq_set_chip+0xc0/0xdc > > [ 1.742100] Modules linked in: > > [ 1.742111] CPU: 3 PID: 1 Comm: swapper/0 Not tainted 5.18.0 #1 > > [ 1.742117] Hardware name: Variscite VAR-SOM-MX8MM Symphony > > evaluation board (DT) > > [ 1.742121] IRQ stage: Linux > > [ 1.742125] pstate: 400000c5 (nZcv daIF -PAN -UAO -TCO -DIT -SSBS BTYPE=--) > > [ 1.742133] pc : irq_set_chip+0xc0/0xdc > > [ 1.742141] lr : irq_set_chip+0xc0/0xdc > > [ 1.742147] sp : ffff8000096db950 > > [ 1.742150] x29: ffff8000096db950 x28: ffff00007fc05168 x27: ffff0000023e50b0 > > [ 1.742160] x26: 0000000000000000 x25: ffff0000023e5080 x24: ffff8000095727d0 > > [ 1.742170] x23: 00000000000000dd x22: 0000000000000000 x21: ffff000002090000 > > [ 1.742179] x20: ffff0000035f48f0 x19: ffff0000023e5200 x18: 0000000000000030 > > [ 1.742188] x17: 00000000c03e3109 x16: 0000000067c91974 x15: fffffffffffe4120 > > [ 1.742196] x14: ffffffffffffffff x13: 21656661732d656e x12: 696c657069702074 > > [ 1.742205] x11: ffff8000095020b0 x10: 2d2d2d2d2d2d2d2d x9 : ffff8000096db950 > > [ 1.742214] x8 : ffff800009502068 x7 : ffff8000096db800 x6 : ffff8000096db800 > > [ 1.742223] x5 : ffff00007fba6a50 x4 : 0000000000000000 x3 : 0000000000000027 > > [ 1.742232] x2 : 0000000000000023 x1 : 17f73e9a6bbe4000 x0 : 0000000000000000 > > [ 1.742242] Call trace: > > [ 1.742245] irq_set_chip+0xc0/0xdc > > [ 1.742253] irq_set_chip_and_handler_name+0x34/0x9c > > [ 1.742262] gpiochip_irq_map+0x54/0x110 > > [ 1.742272] irq_domain_associate+0x7c/0x1f0 > > [ 1.742280] irq_create_mapping_affinity+0xe8/0x140 > > [ 1.742287] gpiochip_to_irq+0xac/0xc4 > > [ 1.742293] gpiod_to_irq+0x54/0x90 > > [ 1.742299] gpio_keys_probe+0x544/0x984 > > [ 1.742308] platform_probe+0x68/0xe0 > > [ 1.742316] really_probe.part.0+0x9c/0x29c > > [ 1.742326] __driver_probe_device+0x98/0x144 > > [ 1.742333] driver_probe_device+0xac/0x140 > > [ 1.742340] __driver_attach+0xf8/0x190 > > [ 1.742347] bus_for_each_dev+0x70/0xc0 > > [ 1.742356] driver_attach+0x24/0x30 > > [ 1.742363] bus_add_driver+0x14c/0x1f0 > > [ 1.742369] driver_register+0x78/0x130 > > [ 1.742377] __platform_driver_register+0x28/0x34 > > [ 1.742386] gpio_keys_init+0x1c/0x28 > > [ 1.742397] do_one_initcall+0x54/0x1bc > > [ 1.742404] kernel_init_freeable+0x210/0x294 > > [ 1.742414] kernel_init+0x28/0x13c > > [ 1.742424] ret_from_fork+0x10/0x20 > > [ 1.742431] ---[ end trace 0000000000000000 ]--- > > > > cmdline isolcpus=1 evl.oob_cpus=1 > > > > Also tried with LTS version (v5.15.57-evl1-rebase > > b693debdc082dcde2c0071c371f6e58e1702f360) > > Same behavior > > This looks like the name of an i2c device (1-0020), which would be the > client of a GPIO key interface. dts says your evb has a pca9534 GPIO > expander on board. Welcome to the maze. This expander is a no-brainer > wrt IRQ pipelining though, so let's try this: > > diff --git a/drivers/gpio/gpio-pca953x.c b/drivers/gpio/gpio-pca953x.c > index 33683295a0bf..03ba6386b9bd 100644 > --- a/drivers/gpio/gpio-pca953x.c > +++ b/drivers/gpio/gpio-pca953x.c > @@ -853,6 +853,7 @@ static int pca953x_irq_setup(struct pca953x_chip *chip, int irq_base) > irq_chip->irq_bus_sync_unlock = pca953x_irq_bus_sync_unlock; > irq_chip->irq_set_type = pca953x_irq_set_type; > irq_chip->irq_shutdown = pca953x_irq_shutdown; > + irq_chip->flags = IRQCHIP_PIPELINE_SAFE; > > girq = &chip->gpio_chip.irq; > girq->chip = irq_chip; > > Please let me know if that helps. > > Thanks, > > -- > Philippe. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Xenomai 4 IMX8MM 2022-08-04 13:40 ` Gabriel Durante @ 2022-08-04 14:39 ` Philippe Gerum 2022-08-04 17:03 ` Gabriel Durante 0 siblings, 1 reply; 5+ messages in thread From: Philippe Gerum @ 2022-08-04 14:39 UTC (permalink / raw) To: Gabriel Durante; +Cc: xenomai Gabriel Durante <gabriel@neuraldsp.com> writes: > Thanks Philippe, > > IRQCHIP_PIPELINE_SAFE flag on gpio-pca953x.c did the trick, no issues on dmesg. > > Now only the issue (kernel hangs) with edt_ft5x06 loaded while running > sched-quota-accuracy. > > [ 2341.500412] edt_ft5x06 2-0038: Unable to fetch data, error: -110 > I suspect this may be the outcome of the test overconsuming the CPU bandwidth on the same processor which runs the (threaded?) IRQ handler serving the touchpad events. IOW, the IRQ handler cannot run quickly enough for the touchpad hw and/or driver to be happy, because sched-quota-accuracy is keeping the CPU (too) busy. Three options to check this: - move the test away from CPU1, which might be shared with the IRQ handler, using the -c <cpu> option (you can run sched-quota-accuracy manually, outside of the 'evl test' scripting). - change the CPU affinity of the IRQ for the touchpad device, away from CPU1. Fixing up /proc/irq/<irqnum>/smp_affinity accordingly may help, with <irqnum> matching the proper device in /proc/interrupts. - try reducing the load imposed on the system by the test, e.g. by lowering the number of concurrent threads using the -n <nr_threads> option. Defaults to 3, maybe 1 would allow the test to pass in that configuration. You also may want to make sure to switch off CONFIG_PROVE_LOCKING->CONFIG_DEBUG_LOCK_ALLOC, CONFIG_DEBUG_LIST and friends which slow down the (regular) kernel code a lot. -- Philippe. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: Xenomai 4 IMX8MM 2022-08-04 14:39 ` Philippe Gerum @ 2022-08-04 17:03 ` Gabriel Durante 0 siblings, 0 replies; 5+ messages in thread From: Gabriel Durante @ 2022-08-04 17:03 UTC (permalink / raw) To: Philippe Gerum; +Cc: xenomai Fair enough Philippe, Any of those ranges works for me: /usr/tests/sched-quota-accuracy -c[1-3] -n[1-8] -v Thanks Regards Gabriel On Thu, Aug 4, 2022 at 11:57 AM Philippe Gerum <rpm@xenomai.org> wrote: > > > Gabriel Durante <gabriel@neuraldsp.com> writes: > > > Thanks Philippe, > > > > IRQCHIP_PIPELINE_SAFE flag on gpio-pca953x.c did the trick, no issues on dmesg. > > > > Now only the issue (kernel hangs) with edt_ft5x06 loaded while running > > sched-quota-accuracy. > > > > [ 2341.500412] edt_ft5x06 2-0038: Unable to fetch data, error: -110 > > > > I suspect this may be the outcome of the test overconsuming the CPU > bandwidth on the same processor which runs the (threaded?) IRQ handler > serving the touchpad events. IOW, the IRQ handler cannot run quickly > enough for the touchpad hw and/or driver to be happy, because > sched-quota-accuracy is keeping the CPU (too) busy. > > Three options to check this: > > - move the test away from CPU1, which might be shared with the IRQ > handler, using the -c <cpu> option (you can run sched-quota-accuracy > manually, outside of the 'evl test' scripting). > > - change the CPU affinity of the IRQ for the touchpad device, away from > CPU1. Fixing up /proc/irq/<irqnum>/smp_affinity accordingly may help, > with <irqnum> matching the proper device in /proc/interrupts. > > - try reducing the load imposed on the system by the test, e.g. by > lowering the number of concurrent threads using the -n <nr_threads> > option. Defaults to 3, maybe 1 would allow the test to pass in that > configuration. > > You also may want to make sure to switch off > CONFIG_PROVE_LOCKING->CONFIG_DEBUG_LOCK_ALLOC, CONFIG_DEBUG_LIST and > friends which slow down the (regular) kernel code a lot. > > -- > Philippe. ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-08-04 17:03 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-08-03 21:13 Xenomai 4 IMX8MM Gabriel Durante 2022-08-04 12:44 ` Philippe Gerum 2022-08-04 13:40 ` Gabriel Durante 2022-08-04 14:39 ` Philippe Gerum 2022-08-04 17:03 ` Gabriel Durante
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.