On Sun, Apr 15, 2018 at 12:47 AM, Ivid Suvarna <ivid.suvarna@xxxxxxxxx> 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.
-- >
> 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@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies