Re: Softlockup and Hardlockup sample test module
On Sun, Apr 15, 2018 at 12:47 AM, Ivid Suvarna wrote: > > Hi All, > > Could you please provide some sample test module for causing a > Softlockup and Hardlockup in latest kernel for SMP for testing > purposes. I assume there are some Kconfigs to be enabled as well for Have you looked at this book? Operating System Principles by Per Brinch Hansen It outlines some basic multi processing locking strategies and how things might break. These apply to SMP multiple process user programs as well as kernel code. Being inside a lock has impact only on what that lock locks which includes the tree of locks, data and code that depend on it. Locking of two types come to mind. Locked specific data or a lock on a monitor function that manages a set of things that depend on each other or just simply modifies data. A monitor might hold multiple data locks... Interrupt and signal masks play an important part in all of this. Does your modified spinlock have a lock locked when your busy loop is entered and what invokes it? Each core needs to enter the bad code for a system to lock up. Other interrupts can keep the system happy forever as long as the 'stuck' code is not critical. Atomic operations can be hardware specific so knowing the hardware is part of selecting the test cases. -- T o m M i t c h e l l ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Softlockup and Hardlockup sample test module
On Sun, Apr 15, 2018 at 12:47 AM, Ivid Suvarna wrote: > > Hi All, > > Could you please provide some sample test module for causing a > Softlockup and Hardlockup in latest kernel for SMP for testing Have you looked at this book? Operating System Principles by Per Brinch Hansen It outlines some basic multi processing locking strategies and how things might break. These apply to multiple process user programs as well as kernel code. Being inside a lock has impact only on that lock and the tree of locks , data and code that depend on it. Locking of two types come to mind. Locked data or a lock on a monitor function that manages a set of things that depend on each other or just simply modifies data. Interrupt and signal masks play an important part in all of this. ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Softlockup and Hardlockup sample test module
On Sun, Apr 15, 2018 at 12:47 AM, Ivid Suvarna wrote: > Hi All, > > Could you please provide some sample test module for causing a > Softlockup and Hardlockup in latest kernel for SMP for testing > purposes. I assume there are some Kconfigs to be enabled as well for > this. https://github.com/torvalds/linux/blob/master/drivers/misc/lkdtm/bugs.c#L130 Is this what you need? ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Re: Softlockup and Hardlockup sample test module
On Sun, 15 Apr 2018 13:17:27 +0530, Ivid Suvarna said: > I had tried with the module where I put a busy loop inside spinlock > but was not able to cause any lockups. Maybe this is because of SMP > which schedule the job to other CPU. "How do I make a task to run on > single CPU only?" So you get a kernel thread that's taken a lock and will busy-loop and not free it. What sort of lockup do you expect will be detected from this? Would the results be any different if you didn't take a lock before busy-looping? For bonus points - what additional things have to happen before a livelock happens? And before a deadlock happens? pgpa6Z4GBpcBU.pgp Description: PGP signature ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Softlockup and Hardlockup sample test module
Hi All, Could you please provide some sample test module for causing a Softlockup and Hardlockup in latest kernel for SMP for testing purposes. I assume there are some Kconfigs to be enabled as well for this. I had tried with the module where I put a busy loop inside spinlock but was not able to cause any lockups. Maybe this is because of SMP which schedule the job to other CPU. "How do I make a task to run on single CPU only?" I only get RCU stalls sometimes instead of softlockup when I use busy loop inside a spinlock. Is there any explanation for difference between these stalls and softlockup. Thanks, IVID ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Softlockup and Hardlockup sample test module
Hi All, Could you please provide some sample test module for causing a Softlockup and Hardlockup in latest kernel for SMP for testing purposes. I assume there are some Kconfigs to be enabled as well for this. I had tried with the module where I put a busy loop inside spinlock but was not able to cause any lockups. Maybe this is because of SMP which schedule the job to other CPU. "How do I make a task to run on single CPU only?" I only get RCU stalls sometimes instead of softlockup when I use busy loop inside a spinlock. Is there any explanation for difference between these stalls and softlockup. Thanks, IVID ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
Softlockup and Hardlockup sample test module
Hi All, Could you please provide some sample test module for causing a Softlockup and Hardlockup in latest kernel for SMP for only testing purposes. I assume there are some Kconfigs to be enabled as well for this. I had tried with the module where I put a busy loop inside spinlock but was not able to cause any lockups. Maybe this is because of SMP which schedule the job to other CPU. "How do I make a task to run on single CPU only?" I only get RCU stalls sometimes instead of softlockup when I use busy loop inside a spinlock. Is there any explanation for difference between these stalls and softlockup. Thanks, IVID ___ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies