Hi Guenter, On 24 May 2015 at 04:01, Guenter Roeck <linux@xxxxxxxxxxxx> wrote: > On 05/23/2015 12:40 PM, Timur Tabi wrote: > [ ... ] >> >> >> I use emergency_restart(), because the watchdog-api.txt documentation says >> this: >> >> "If userspace fails (RAM error, kernel bug, whatever), the >> notifications cease to occur, and the hardware watchdog will reset the >> system (causing a reboot) after the timeout occurs." >> >> Maybe I'm reading this too literally, but to me this means that when the >> timeout expires, the system has to reset immediately. >> >> However, maybe panic() is better, since it can do the same thing and more. >> > > I have a specific requirement at work to have watchdog expiration > (not this watchdog, this is different HW) result in a panic, specifically > to enable crashdump support and thus post-mortem analysis. > > I had not thought about this use case myself, and I had always wondered > why watchdog driver implementers would choose to call panic() after an > interrupt or NMI. But we live and learn, so now I finally understand. > > In the pretimeout/timeout world, the pretimeout would (typically) > result in a panic, and the timeout would result in a reset. So one > would set the timer register to 10s for 10s pretimeout and 20s timeout. > > However, the pretimeout concept assumes that there are two timers > which can be set independently. As you had pointed out earlier, > and as the specification seems to confirm, that is not the case here. Sorry, in Documentation/watchdog/watchdog-api.txt, I can not get the info about " the pretimeout concept assumes that there are two timers which can be set independently." Could you kindly point out where is the assumption. I thinks in kernel documentation, that meams "one watchdog has two timeout stages", maybe I miss something. Could you help me out? > As such, I don't really understand why and how the pretimeout / timeout > concept would add any value here and not just make things more > complicated than necessary. Maybe I am just missing something. If pretimeout concept assumes that there are two timers, I misunderstand the "pretimeout", then I will delete the pretimeout immediately. > > Thanks, > Guenter > -- Best regards, Fu Wei Software Engineer Red Hat Software (Beijing) Co.,Ltd.Shanghai Branch Ph: +86 21 61221326(direct) Ph: +86 186 2020 4684 (mobile) Room 1512, Regus One Corporate Avenue,Level 15, One Corporate Avenue,222 Hubin Road,Huangpu District, Shanghai,China 200021 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html