<div dir="ltr">i think the logic is not possible and does not make sense.   essentially you cannot disable interrupt and loop for 11 seconds and reenable interrupt after that.    this is because the timer is not going to trigger you once the interrupt is disabled.   but u can of course do some pre-calculation:   for your CPU, for platform, do a precise low level accurate timing of CPU to assess how many instructions of a certain types is need to achieve a duration, say 1 microsecond.   then you implement a deterministic loop of 1 million loop to exactly implement a timing delay of 1 second for ONE cpu.   you can disable interrupt before entering that deterministic loop.   and once out of loop, u can enable interrupt again.   <div>
<br></div><div>the whole operation has to be precisely calculated and extrapolated from microseconds to seconds, and it really varies from CPU to CPU, or even same CPU in different platform.   and btw, normal kernel operation is always with interrupt enabled, so all performance timestamping measurement will be very different in your constraint of disabling interrupt, which u are trying to do to simulate hardlockup.</div>
<div><div><br></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Dec 15, 2013 at 4:27 PM, Vipul Jain <span dir="ltr">&lt;<a href="mailto:vipulsj@gmail.com" target="_blank">vipulsj@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div>Hi,<br><br></div>I would like to write a kernel module that will induce the softlockup and hardlockup on the cpu core(s). Below is my logic and was wondering if some one can help me verify and guide me creating a thread and other stuff for implementing the logic.<br>

<br></div>softlockup:<br></div><div>on given cpu number.<br></div>1. disable kernel preemption<br></div>2. keep looping for 21 seconds (as per kernel Documentation it takes 20 seconds to detect and I would like to recover the system once its detected).<br>

</div>3. release the cpu<br><br></div>hardlockup<br></div>on given cpu number.<br></div>1. disable interrrupts.<br></div>2. keep looping for 11 seconds.<br></div>3. enable interrupts and release cpu.<br><br></div>Regards,<br>

</div>Vipul.<br><br></div>
<br>_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Regards,<br>Peter Teoh
</div>