On 28.01.2022 09:32:40, Oliver Hartkopp wrote: > > > On 28.01.22 09:07, Marc Kleine-Budde wrote: > > On 28.01.2022 08:56:19, Oliver Hartkopp wrote: > > > I've seen the frame processing sometimes freezes for one second when > > > stressing the isotp_rcv() from multiple sources. This finally freezes > > > the entire softirq which is either not good and not needed as we only > > > need to fix this race for stress tests - and not for real world usage > > > that does not create this case. > > > > Hmmm, this doesn't sound good. Can you test with LOCKDEP enabled? > In kernel config? I enabled almost everything with LOCKing ;-) > > > CONFIG_LOCKDEP_SUPPORT=y > > CONFIG_HAVE_HARDLOCKUP_DETECTOR_PERF=y > > CONFIG_ASN1=y > CONFIG_UNINLINE_SPIN_UNLOCK=y > CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y > CONFIG_MUTEX_SPIN_ON_OWNER=y > CONFIG_RWSEM_SPIN_ON_OWNER=y > CONFIG_LOCK_SPIN_ON_OWNER=y > CONFIG_ARCH_USE_QUEUED_SPINLOCKS=y > CONFIG_QUEUED_SPINLOCKS=y > CONFIG_ARCH_USE_QUEUED_RWLOCKS=y > CONFIG_QUEUED_RWLOCKS=y > CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y > CONFIG_ARCH_HAS_SYNC_CORE_BEFORE_USERMODE=y > CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y > CONFIG_FREEZER=y > > CONFIG_HWSPINLOCK=y > > CONFIG_I8253_LOCK=y > > # > # Debug Oops, Lockups and Hangs > # > # CONFIG_PANIC_ON_OOPS is not set > CONFIG_PANIC_ON_OOPS_VALUE=0 > CONFIG_PANIC_TIMEOUT=0 > CONFIG_LOCKUP_DETECTOR=y > CONFIG_SOFTLOCKUP_DETECTOR=y > # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set > CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 > CONFIG_HARDLOCKUP_DETECTOR_PERF=y > CONFIG_HARDLOCKUP_CHECK_TIMESTAMP=y > CONFIG_HARDLOCKUP_DETECTOR=y > # CONFIG_BOOTPARAM_HARDLOCKUP_PANIC is not set > CONFIG_BOOTPARAM_HARDLOCKUP_PANIC_VALUE=0 > CONFIG_DETECT_HUNG_TASK=y > CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 <--- the isotp timeout is 1000 ms what > I can observe here with v1 patch > > # CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set > CONFIG_BOOTPARAM_HUNG_TASK_PANIC_VALUE=0 > # CONFIG_WQ_WATCHDOG is not set > # CONFIG_TEST_LOCKUP is not set > # end of Debug Oops, Lockups and Hangs > > Only this debugging stuff is not really enabled: > > # > # Lock Debugging (spinlocks, mutexes, etc...) > # > CONFIG_LOCK_DEBUGGING_SUPPORT=y > # CONFIG_PROVE_LOCKING is not set CONFIG_PROVE_LOCKING=y Marc > # CONFIG_LOCK_STAT is not set > # CONFIG_DEBUG_RT_MUTEXES is not set > # CONFIG_DEBUG_SPINLOCK is not set > # CONFIG_DEBUG_MUTEXES is not set > # CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set > # CONFIG_DEBUG_RWSEMS is not set > # CONFIG_DEBUG_LOCK_ALLOC is not set > # CONFIG_DEBUG_ATOMIC_SLEEP is not set > # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set > # CONFIG_LOCK_TORTURE_TEST is not set > # CONFIG_WW_MUTEX_SELFTEST is not set > # CONFIG_SCF_TORTURE_TEST is not set > # CONFIG_CSD_LOCK_WAIT_DEBUG is not set > # end of Lock Debugging (spinlocks, mutexes, etc...) > > Would this help to be enabled for this test (of the v1 patch? > > Best regards, > Oliver > > -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |