Message ID | 20220602175353.68942-1-cheloha@linux.ibm.com |
---|---|
Headers | show |
Series | pseries-wdt: initial support for H_WATCHDOG-based watchdog timers | expand |
Hi, I tried this series out with mainline QEMU built with Alexey's patch [1] and I wasn't able to get it to work. I'm using a simple QEMU command line booting a fedora36 guest in a Power9 boston host: sudo ./qemu-system-ppc64 \ -M pseries,cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken,cap-ccf-assist=off,ic-mode=dual \ -m 4G -accel kvm -cpu POWER9 -smp 1,maxcpus=1,threads=1,cores=1,sockets=1 \ -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x2 \ -drive file=/home/danielhb/fedora36.qcow2,if=none,id=drive-scsi0-0-0-0,format=qcow2,cache=none \ -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2 \ -device qemu-xhci,id=usb,bus=pci.0,addr=0x4 -nographic -display none Guest is running v5.19-rc2 with this series applied. Kernel config consists of 'pseries_le_defconfig' plus the following 'watchdog' related changes: [root@fedora ~]# cat linux/.config | grep PSERIES_WDT CONFIG_PSERIES_WDT=y [root@fedora ~]# cat linux/.config | grep -i watchdog CONFIG_PPC_WATCHDOG=y CONFIG_HAVE_NMI_WATCHDOG=y CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y CONFIG_WATCHDOG_NOWAYOUT=y CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_OPEN_TIMEOUT=0 # CONFIG_WATCHDOG_SYSFS is not set # CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set # Watchdog Pretimeout Governors # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set # Watchdog Device Drivers # CONFIG_SOFT_WATCHDOG is not set # CONFIG_XILINX_WATCHDOG is not set # CONFIG_ZIIRAVE_WATCHDOG is not set # CONFIG_CADENCE_WATCHDOG is not set # CONFIG_DW_WATCHDOG is not set # CONFIG_MAX63XX_WATCHDOG is not set CONFIG_WATCHDOG_RTAS=y # PCI-based Watchdog Cards # CONFIG_PCIPCWATCHDOG is not set # USB-based Watchdog Cards # CONFIG_USBPCWATCHDOG is not set # CONFIG_WQ_WATCHDOG is not set [root@fedora ~]# Kernel command line: [root@fedora ~]# cat /proc/cmdline BOOT_IMAGE=(ieee1275/disk,msdos2)/vmlinuz-5.19.0-rc2-00054-g12ede8ffb103 \ root=/dev/mapper/fedora_fedora-root ro rd.lvm.lv=fedora_fedora/root \ pseries-wdt.timeout=60 pseries-wdt.nowayout=1 pseries-wdt.action=2 With all that, executing echo V > /dev/watchdog0 Does nothing. dmesg is clean and the guest doesn't reboot after the 60 sec timeout. I also tried with PSERIES_WDT being compiled as a module instead of built-in. Same results. What am I missing? [1] https://patchwork.ozlabs.org/project/qemu-ppc/patch/20220608030153.1862335-1-aik@ozlabs.ru/ Thanks, Daniel On 6/2/22 14:53, Scott Cheloha wrote: > PAPR v2.12 defines a new hypercall, H_WATCHDOG. This patch series > adds support for this hypercall to powerpc/pseries kernels and > introduces a new watchdog driver, "pseries-wdt", for the virtual > timers exposed by the hypercall. > > This series is preceded by the following: > > RFC v1: https://lore.kernel.org/linux-watchdog/20220413165104.179144-1-cheloha@linux.ibm.com/ > RFC v2: https://lore.kernel.org/linux-watchdog/20220509174357.5448-1-cheloha@linux.ibm.com/ > PATCH v1: https://lore.kernel.org/linux-watchdog/20220520183552.33426-1-cheloha@linux.ibm.com/ > > Changes of note from PATCH v1: > > - Trim down the large comment documenting the H_WATCHDOG hypercall. > The comment is likely to rot, so remove anything we aren't using > and anything overly obvious. > > - Remove any preprocessor definitions not actually used in the module > right now. If we want to use other features offered by the hypercall > we can add them in later. They're just clutter until then. > > - Simplify the "action" module parameter. The value is now an index > into an array of possible timeoutAction values. This design removes > the need for the custom get/set methods used in PATCH v1. > > Now we merely need to check that the "action" value is a valid > index during pseries_wdt_probe(). Easy. > > - Make the timeoutAction a member of pseries_wdt, "action". This > eliminates the use of a global variable during pseries_wdt_start(). > > - Use watchdog_init_timeout() idiomatically. Check its return value > and error out of pseries_wdt_probe() if it fails. > >
On 6/15/22 18:43, Daniel Henrique Barboza wrote: > Hi, > > I tried this series out with mainline QEMU built with Alexey's patch [1] > and I wasn't able to get it to work. I'm using a simple QEMU command line > booting a fedora36 guest in a Power9 boston host: I would assume the H_WATCHDOG hypercall is not implemented by the qemu pseries machine type. It is a very new hypercall. -Tyrel > > sudo ./qemu-system-ppc64 \ > -M > pseries,cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken,cap-ccf-assist=off,ic-mode=dual > \ > -m 4G -accel kvm -cpu POWER9 -smp 1,maxcpus=1,threads=1,cores=1,sockets=1 \ > -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x2 \ > -drive > file=/home/danielhb/fedora36.qcow2,if=none,id=drive-scsi0-0-0-0,format=qcow2,cache=none > \ > -device > scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2 > \ > -device qemu-xhci,id=usb,bus=pci.0,addr=0x4 -nographic -display none > > > Guest is running v5.19-rc2 with this series applied. Kernel config consists of > 'pseries_le_defconfig' plus the following 'watchdog' related changes: > > [root@fedora ~]# cat linux/.config | grep PSERIES_WDT > CONFIG_PSERIES_WDT=y > > [root@fedora ~]# cat linux/.config | grep -i watchdog > CONFIG_PPC_WATCHDOG=y > CONFIG_HAVE_NMI_WATCHDOG=y > CONFIG_WATCHDOG=y > CONFIG_WATCHDOG_CORE=y > CONFIG_WATCHDOG_NOWAYOUT=y > CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y > CONFIG_WATCHDOG_OPEN_TIMEOUT=0 > # CONFIG_WATCHDOG_SYSFS is not set > # CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set > # Watchdog Pretimeout Governors > # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set > # Watchdog Device Drivers > # CONFIG_SOFT_WATCHDOG is not set > # CONFIG_XILINX_WATCHDOG is not set > # CONFIG_ZIIRAVE_WATCHDOG is not set > # CONFIG_CADENCE_WATCHDOG is not set > # CONFIG_DW_WATCHDOG is not set > # CONFIG_MAX63XX_WATCHDOG is not set > CONFIG_WATCHDOG_RTAS=y > # PCI-based Watchdog Cards > # CONFIG_PCIPCWATCHDOG is not set > # USB-based Watchdog Cards > # CONFIG_USBPCWATCHDOG is not set > # CONFIG_WQ_WATCHDOG is not set > [root@fedora ~]# > > > > Kernel command line: > > [root@fedora ~]# cat /proc/cmdline > BOOT_IMAGE=(ieee1275/disk,msdos2)/vmlinuz-5.19.0-rc2-00054-g12ede8ffb103 \ > root=/dev/mapper/fedora_fedora-root ro rd.lvm.lv=fedora_fedora/root \ > pseries-wdt.timeout=60 pseries-wdt.nowayout=1 pseries-wdt.action=2 > > > With all that, executing > > echo V > /dev/watchdog0 > > Does nothing. dmesg is clean and the guest doesn't reboot after the 60 sec > timeout. I also tried with PSERIES_WDT being compiled as a module instead > of built-in. Same results. > > > What am I missing? > > > [1] > https://patchwork.ozlabs.org/project/qemu-ppc/patch/20220608030153.1862335-1-aik@ozlabs.ru/ > > > > > Thanks, > > > Daniel > > > > > On 6/2/22 14:53, Scott Cheloha wrote: >> PAPR v2.12 defines a new hypercall, H_WATCHDOG. This patch series >> adds support for this hypercall to powerpc/pseries kernels and >> introduces a new watchdog driver, "pseries-wdt", for the virtual >> timers exposed by the hypercall. >> >> This series is preceded by the following: >> >> RFC v1: >> https://lore.kernel.org/linux-watchdog/20220413165104.179144-1-cheloha@linux.ibm.com/ >> >> RFC v2: >> https://lore.kernel.org/linux-watchdog/20220509174357.5448-1-cheloha@linux.ibm.com/ >> >> PATCH v1: >> https://lore.kernel.org/linux-watchdog/20220520183552.33426-1-cheloha@linux.ibm.com/ >> >> >> Changes of note from PATCH v1: >> >> - Trim down the large comment documenting the H_WATCHDOG hypercall. >> The comment is likely to rot, so remove anything we aren't using >> and anything overly obvious. >> >> - Remove any preprocessor definitions not actually used in the module >> right now. If we want to use other features offered by the hypercall >> we can add them in later. They're just clutter until then. >> >> - Simplify the "action" module parameter. The value is now an index >> into an array of possible timeoutAction values. This design removes >> the need for the custom get/set methods used in PATCH v1. >> >> Now we merely need to check that the "action" value is a valid >> index during pseries_wdt_probe(). Easy. >> >> - Make the timeoutAction a member of pseries_wdt, "action". This >> eliminates the use of a global variable during pseries_wdt_start(). >> >> - Use watchdog_init_timeout() idiomatically. Check its return value >> and error out of pseries_wdt_probe() if it fails. >> >>
On 6/16/22 13:44, Tyrel Datwyler wrote: > On 6/15/22 18:43, Daniel Henrique Barboza wrote: >> Hi, >> >> I tried this series out with mainline QEMU built with Alexey's patch [1] >> and I wasn't able to get it to work. I'm using a simple QEMU command line >> booting a fedora36 guest in a Power9 boston host: > > I would assume the H_WATCHDOG hypercall is not implemented by the qemu pseries > machine type. It is a very new hypercall. Alexey implemented QEMU support for this hypercall here: "[qemu] ppc/spapr: Implement H_WATCHDOG" https://patchwork.ozlabs.org/project/qemu-ppc/patch/20220608030153.1862335-1-aik@ozlabs.ru/ It is under review in the QEMU mailing list. I tried it out with this series and wasn't able to get it to work. Thanks, Daniel > > -Tyrel > >> >> sudo ./qemu-system-ppc64 \ >> -M >> pseries,cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken,cap-ccf-assist=off,ic-mode=dual >> \ >> -m 4G -accel kvm -cpu POWER9 -smp 1,maxcpus=1,threads=1,cores=1,sockets=1 \ >> -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x2 \ >> -drive >> file=/home/danielhb/fedora36.qcow2,if=none,id=drive-scsi0-0-0-0,format=qcow2,cache=none >> \ >> -device >> scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2 >> \ >> -device qemu-xhci,id=usb,bus=pci.0,addr=0x4 -nographic -display none >> >> >> Guest is running v5.19-rc2 with this series applied. Kernel config consists of >> 'pseries_le_defconfig' plus the following 'watchdog' related changes: >> >> [root@fedora ~]# cat linux/.config | grep PSERIES_WDT >> CONFIG_PSERIES_WDT=y >> >> [root@fedora ~]# cat linux/.config | grep -i watchdog >> CONFIG_PPC_WATCHDOG=y >> CONFIG_HAVE_NMI_WATCHDOG=y >> CONFIG_WATCHDOG=y >> CONFIG_WATCHDOG_CORE=y >> CONFIG_WATCHDOG_NOWAYOUT=y >> CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y >> CONFIG_WATCHDOG_OPEN_TIMEOUT=0 >> # CONFIG_WATCHDOG_SYSFS is not set >> # CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set >> # Watchdog Pretimeout Governors >> # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set >> # Watchdog Device Drivers >> # CONFIG_SOFT_WATCHDOG is not set >> # CONFIG_XILINX_WATCHDOG is not set >> # CONFIG_ZIIRAVE_WATCHDOG is not set >> # CONFIG_CADENCE_WATCHDOG is not set >> # CONFIG_DW_WATCHDOG is not set >> # CONFIG_MAX63XX_WATCHDOG is not set >> CONFIG_WATCHDOG_RTAS=y >> # PCI-based Watchdog Cards >> # CONFIG_PCIPCWATCHDOG is not set >> # USB-based Watchdog Cards >> # CONFIG_USBPCWATCHDOG is not set >> # CONFIG_WQ_WATCHDOG is not set >> [root@fedora ~]# >> >> >> >> Kernel command line: >> >> [root@fedora ~]# cat /proc/cmdline >> BOOT_IMAGE=(ieee1275/disk,msdos2)/vmlinuz-5.19.0-rc2-00054-g12ede8ffb103 \ >> root=/dev/mapper/fedora_fedora-root ro rd.lvm.lv=fedora_fedora/root \ >> pseries-wdt.timeout=60 pseries-wdt.nowayout=1 pseries-wdt.action=2 >> >> >> With all that, executing >> >> echo V > /dev/watchdog0 >> >> Does nothing. dmesg is clean and the guest doesn't reboot after the 60 sec >> timeout. I also tried with PSERIES_WDT being compiled as a module instead >> of built-in. Same results. >> >> >> What am I missing? >> >> >> [1] >> https://patchwork.ozlabs.org/project/qemu-ppc/patch/20220608030153.1862335-1-aik@ozlabs.ru/ >> >> >> >> >> Thanks, >> >> >> Daniel >> >> >> >> >> On 6/2/22 14:53, Scott Cheloha wrote: >>> PAPR v2.12 defines a new hypercall, H_WATCHDOG. This patch series >>> adds support for this hypercall to powerpc/pseries kernels and >>> introduces a new watchdog driver, "pseries-wdt", for the virtual >>> timers exposed by the hypercall. >>> >>> This series is preceded by the following: >>> >>> RFC v1: >>> https://lore.kernel.org/linux-watchdog/20220413165104.179144-1-cheloha@linux.ibm.com/ >>> >>> RFC v2: >>> https://lore.kernel.org/linux-watchdog/20220509174357.5448-1-cheloha@linux.ibm.com/ >>> >>> PATCH v1: >>> https://lore.kernel.org/linux-watchdog/20220520183552.33426-1-cheloha@linux.ibm.com/ >>> >>> >>> Changes of note from PATCH v1: >>> >>> - Trim down the large comment documenting the H_WATCHDOG hypercall. >>> The comment is likely to rot, so remove anything we aren't using >>> and anything overly obvious. >>> >>> - Remove any preprocessor definitions not actually used in the module >>> right now. If we want to use other features offered by the hypercall >>> we can add them in later. They're just clutter until then. >>> >>> - Simplify the "action" module parameter. The value is now an index >>> into an array of possible timeoutAction values. This design removes >>> the need for the custom get/set methods used in PATCH v1. >>> >>> Now we merely need to check that the "action" value is a valid >>> index during pseries_wdt_probe(). Easy. >>> >>> - Make the timeoutAction a member of pseries_wdt, "action". This >>> eliminates the use of a global variable during pseries_wdt_start(). >>> >>> - Use watchdog_init_timeout() idiomatically. Check its return value >>> and error out of pseries_wdt_probe() if it fails. >>> >>> >
Hi, Update: checking out 'dmesg' more carefully I found out that the module probe is failing with the following message: [ 186.298424][ T811] pseries-wdt: probe of pseries-wdt.0 failed with error -5 This fail is consistent. If I remove the module and modprobe it again the same error happens. The message is being throw by pseries_wdt_probe() (patch 4/4). Back in QEMU, in Alexey's H_WATCHDOG implementation [1], I see that h_watchdog is returning H_PARAMETER because the retrieved 'watchdogNumber' is zero. Also, the pseries_wdt module still appears in 'lsmod' despite this probe error. Not sure if this is a bug: [root@fedora ~]# rmmod pseries_wdt [root@fedora ~]# modprobe pseries_wdt [ 1792.846769][ T865] pseries-wdt: probe of pseries-wdt.0 failed with error -5 [root@fedora ~]# lsmod | grep pseries pseries_wdt 262144 0 [root@fedora ~]# For reference this is all the output of 'lsmod' in the guest: [root@fedora ~]# lsmod Module Size Used by pseries_wdt 262144 0 nfnetlink 262144 1 evdev 327680 1 input_leds 262144 0 led_class 262144 1 input_leds fuse 458752 1 xfs 1835008 2 libcrc32c 262144 1 xfs virtio_scsi 327680 2 virtio_pci 262144 0 virtio 327680 2 virtio_scsi,virtio_pci vmx_crypto 262144 0 gf128mul 262144 1 vmx_crypto crc32c_vpmsum 327680 1 virtio_ring 327680 3 virtio_scsi,virtio_pci,virtio virtio_pci_legacy_dev 262144 1 virtio_pci virtio_pci_modern_dev 262144 1 virtio_pci autofs4 327680 2 Given that the error is being thrown by Alexey's QEMU code, I'll bring it up in the QEMU mailing list in [1] and follow it up from there. [1] https://patchwork.ozlabs.org/project/qemu-ppc/patch/20220608030153.1862335-1-aik@ozlabs.ru/ Thanks, Daniel On 6/15/22 22:43, Daniel Henrique Barboza wrote: > Hi, > > I tried this series out with mainline QEMU built with Alexey's patch [1] > and I wasn't able to get it to work. I'm using a simple QEMU command line > booting a fedora36 guest in a Power9 boston host: > > sudo ./qemu-system-ppc64 \ > -M pseries,cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken,cap-ccf-assist=off,ic-mode=dual \ > -m 4G -accel kvm -cpu POWER9 -smp 1,maxcpus=1,threads=1,cores=1,sockets=1 \ > -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x2 \ > -drive file=/home/danielhb/fedora36.qcow2,if=none,id=drive-scsi0-0-0-0,format=qcow2,cache=none \ > -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=0,drive=drive-scsi0-0-0-0,id=scsi0-0-0-0,bootindex=2 \ > -device qemu-xhci,id=usb,bus=pci.0,addr=0x4 -nographic -display none > > > Guest is running v5.19-rc2 with this series applied. Kernel config consists of > 'pseries_le_defconfig' plus the following 'watchdog' related changes: > > [root@fedora ~]# cat linux/.config | grep PSERIES_WDT > CONFIG_PSERIES_WDT=y > > [root@fedora ~]# cat linux/.config | grep -i watchdog > CONFIG_PPC_WATCHDOG=y > CONFIG_HAVE_NMI_WATCHDOG=y > CONFIG_WATCHDOG=y > CONFIG_WATCHDOG_CORE=y > CONFIG_WATCHDOG_NOWAYOUT=y > CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y > CONFIG_WATCHDOG_OPEN_TIMEOUT=0 > # CONFIG_WATCHDOG_SYSFS is not set > # CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set > # Watchdog Pretimeout Governors > # CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set > # Watchdog Device Drivers > # CONFIG_SOFT_WATCHDOG is not set > # CONFIG_XILINX_WATCHDOG is not set > # CONFIG_ZIIRAVE_WATCHDOG is not set > # CONFIG_CADENCE_WATCHDOG is not set > # CONFIG_DW_WATCHDOG is not set > # CONFIG_MAX63XX_WATCHDOG is not set > CONFIG_WATCHDOG_RTAS=y > # PCI-based Watchdog Cards > # CONFIG_PCIPCWATCHDOG is not set > # USB-based Watchdog Cards > # CONFIG_USBPCWATCHDOG is not set > # CONFIG_WQ_WATCHDOG is not set > [root@fedora ~]# > > > > Kernel command line: > > [root@fedora ~]# cat /proc/cmdline > BOOT_IMAGE=(ieee1275/disk,msdos2)/vmlinuz-5.19.0-rc2-00054-g12ede8ffb103 \ > root=/dev/mapper/fedora_fedora-root ro rd.lvm.lv=fedora_fedora/root \ > pseries-wdt.timeout=60 pseries-wdt.nowayout=1 pseries-wdt.action=2 > > > With all that, executing > > echo V > /dev/watchdog0 > > Does nothing. dmesg is clean and the guest doesn't reboot after the 60 sec > timeout. I also tried with PSERIES_WDT being compiled as a module instead > of built-in. Same results. > > > What am I missing? > > > [1] https://patchwork.ozlabs.org/project/qemu-ppc/patch/20220608030153.1862335-1-aik@ozlabs.ru/ > > > > Thanks, > > > Daniel > > > > > On 6/2/22 14:53, Scott Cheloha wrote: >> PAPR v2.12 defines a new hypercall, H_WATCHDOG. This patch series >> adds support for this hypercall to powerpc/pseries kernels and >> introduces a new watchdog driver, "pseries-wdt", for the virtual >> timers exposed by the hypercall. >> >> This series is preceded by the following: >> >> RFC v1: https://lore.kernel.org/linux-watchdog/20220413165104.179144-1-cheloha@linux.ibm.com/ >> RFC v2: https://lore.kernel.org/linux-watchdog/20220509174357.5448-1-cheloha@linux.ibm.com/ >> PATCH v1: https://lore.kernel.org/linux-watchdog/20220520183552.33426-1-cheloha@linux.ibm.com/ >> >> Changes of note from PATCH v1: >> >> - Trim down the large comment documenting the H_WATCHDOG hypercall. >> The comment is likely to rot, so remove anything we aren't using >> and anything overly obvious. >> >> - Remove any preprocessor definitions not actually used in the module >> right now. If we want to use other features offered by the hypercall >> we can add them in later. They're just clutter until then. >> >> - Simplify the "action" module parameter. The value is now an index >> into an array of possible timeoutAction values. This design removes >> the need for the custom get/set methods used in PATCH v1. >> >> Now we merely need to check that the "action" value is a valid >> index during pseries_wdt_probe(). Easy. >> >> - Make the timeoutAction a member of pseries_wdt, "action". This >> eliminates the use of a global variable during pseries_wdt_start(). >> >> - Use watchdog_init_timeout() idiomatically. Check its return value >> and error out of pseries_wdt_probe() if it fails. >> >>
On 6/2/22 14:53, Scott Cheloha wrote: > PAPR v2.12 defines a new hypercall, H_WATCHDOG. This patch series > adds support for this hypercall to powerpc/pseries kernels and > introduces a new watchdog driver, "pseries-wdt", for the virtual > timers exposed by the hypercall. > > This series is preceded by the following: > > RFC v1: https://lore.kernel.org/linux-watchdog/20220413165104.179144-1-cheloha@linux.ibm.com/ > RFC v2: https://lore.kernel.org/linux-watchdog/20220509174357.5448-1-cheloha@linux.ibm.com/ > PATCH v1: https://lore.kernel.org/linux-watchdog/20220520183552.33426-1-cheloha@linux.ibm.com/ Tested successfully with mainline QEMU plus Alexey's new h_watchdog patches in https://patchwork.ozlabs.org/project/qemu-ppc/list/?series=305226. All patches of this series: Tested-by: Daniel Henrique Barboza <danielhb413@gmail.com> Thanks, Daniel > > Changes of note from PATCH v1: > > - Trim down the large comment documenting the H_WATCHDOG hypercall. > The comment is likely to rot, so remove anything we aren't using > and anything overly obvious. > > - Remove any preprocessor definitions not actually used in the module > right now. If we want to use other features offered by the hypercall > we can add them in later. They're just clutter until then. > > - Simplify the "action" module parameter. The value is now an index > into an array of possible timeoutAction values. This design removes > the need for the custom get/set methods used in PATCH v1. > > Now we merely need to check that the "action" value is a valid > index during pseries_wdt_probe(). Easy. > > - Make the timeoutAction a member of pseries_wdt, "action". This > eliminates the use of a global variable during pseries_wdt_start(). > > - Use watchdog_init_timeout() idiomatically. Check its return value > and error out of pseries_wdt_probe() if it fails. > >