how to hard hang the kernel from userspace?
Hi, I was able to formulate this command, echo -1 > /proc/sys/kernel/sched_rt_runtime_us chrt -f 99 yes &> /dev/null and it works sometimes on UP, but it doesn't work on SMP. I also tried adding in "taskset" to pin multiple version of the "yes" command to each cpu in the system, but that just resulted in lots of rcu warnings. The goal is to make the watchdog trigger by starving out the watchdog petting process. Anyone have any ideas? I'd rather not make a kernel module. Thanks, Daniel
On Wed, 06 Dec 2017 16:32:26 -0800, Daniel Walker said:
and it works sometimes on UP, but it doesn't work on SMP. I also tried
Thinking about *why* that hangs a UP should explain why it doesn't work on SMP.
adding in "taskset" to pin multiple version of the "yes" command to each cpu in the system, but that just resulted in lots of rcu warnings.
That's.... unexpected.
The goal is to make the watchdog trigger by starving out the watchdog petting process. Anyone have any ideas? I'd rather not make a kernel module.
What are you trying to achieve by doing that? Have you tried just pointing a 'kill -9' at the watchdog monitor process? Are you using in-kernel watchdogd, or one in userspace?
On 12/07/2017 07:49 AM, valdis.kletnieks@vt.edu wrote:
On Wed, 06 Dec 2017 16:32:26 -0800, Daniel Walker said:
and it works sometimes on UP, but it doesn't work on SMP. I also tried Thinking about *why* that hangs a UP should explain why it doesn't work on SMP.
adding in "taskset" to pin multiple version of the "yes" command to each cpu in the system, but that just resulted in lots of rcu warnings. That's.... unexpected.
May have to do with not being able to start them all instantly enough, something like that.
The goal is to make the watchdog trigger by starving out the watchdog petting process. Anyone have any ideas? I'd rather not make a kernel module. What are you trying to achieve by doing that?
Have you tried just pointing a 'kill -9' at the watchdog monitor process? Are you using in-kernel watchdogd, or one in userspace?
So typically you have a process which updates the watchdog periodically which I call a petting process. As I said the purpose is to trigger the watchdog by starving the petting process (i.e. kick process) , then the watchdog reboots the system. Daniel
On Thu, 07 Dec 2017 15:12:15 -0800, Daniel Walker said:
So typically you have a process which updates the watchdog periodically which I call a petting process. As I said the purpose is to trigger the watchdog by starving the petting process (i.e. kick process) , then the watchdog reboots the system.
If you're doing the updating from userspace, a kill -9 will get the job done.
On 12/07/2017 06:40 PM, valdis.kletnieks@vt.edu wrote:
On Thu, 07 Dec 2017 15:12:15 -0800, Daniel Walker said:
So typically you have a process which updates the watchdog periodically which I call a petting process. As I said the purpose is to trigger the watchdog by starving the petting process (i.e. kick process) , then the watchdog reboots the system. If you're doing the updating from userspace, a kill -9 will get the job done.
True, but that wasn't what I had in mind.. I was more interesting in simulating an actual lockup. Daniel
participants (2)
-
Daniel Walker -
valdis.kletnieks@vt.edu