Re: Softlockup and Hardlockup sample test module

2018-05-06 Thread NiftyLinKern Mitchell
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

2018-05-06 Thread NiftyLinKern Mitchell
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

2018-04-18 Thread Cong Wang
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

2018-04-15 Thread valdis . kletnieks
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

2018-04-15 Thread Ivid Suvarna
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

2018-04-15 Thread Ivid Suvarna
 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

2018-04-14 Thread Ivid Suvarna
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