From: Daniel Henrique Barboza <danielhb413@gmail.com>
To: Scott Cheloha <cheloha@linux.ibm.com>, linux-watchdog@vger.kernel.org
Cc: nathanl@linux.ibm.com, wvoigt@us.ibm.com, aik@ozlabs.ru,
vaishnavi@linux.ibm.com, npiggin@gmail.com, tzungbi@kernel.org,
brking@linux.ibm.com, linuxppc-dev@lists.ozlabs.org,
linux@roeck-us.net
Subject: Re: [PATCH v2 0/4] pseries-wdt: initial support for H_WATCHDOG-based watchdog timers
Date: Thu, 16 Jun 2022 15:33:54 -0300 [thread overview]
Message-ID: <77db7d29-293a-9a3e-801b-f5001ffa0f1c@gmail.com> (raw)
In-Reply-To: <74ac21a1-d56f-50fb-71c2-e800e943f340@gmail.com>
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.
>>
>>
next prev parent reply other threads:[~2022-06-16 18:34 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-02 17:53 [PATCH v2 0/4] pseries-wdt: initial support for H_WATCHDOG-based watchdog timers Scott Cheloha
2022-06-02 17:53 ` [PATCH v2 1/4] powerpc/pseries: hvcall.h: add H_WATCHDOG opcode, H_NOOP return code Scott Cheloha
2022-06-21 14:44 ` Nathan Lynch
2022-06-21 17:31 ` Segher Boessenkool
2022-06-21 22:22 ` Nathan Lynch
2022-06-02 17:53 ` [PATCH v2 2/4] powerpc/pseries: add FW_FEATURE_WATCHDOG flag Scott Cheloha
2022-06-21 15:03 ` Nathan Lynch
2022-06-02 17:53 ` [PATCH v2 3/4] powerpc/pseries: register pseries-wdt device with platform bus Scott Cheloha
2022-06-21 15:30 ` Nathan Lynch
2022-06-24 13:27 ` Michael Ellerman
2022-07-07 15:53 ` Scott Cheloha
2022-06-02 17:53 ` [PATCH v2 4/4] watchdog/pseries-wdt: initial support for H_WATCHDOG-based watchdog timers Scott Cheloha
2022-06-20 6:09 ` Alexey Kardashevskiy
2022-06-21 15:45 ` Nathan Lynch
2022-06-24 13:27 ` Michael Ellerman
2022-06-24 15:31 ` Segher Boessenkool
2022-07-08 5:51 ` Scott Cheloha
2022-06-24 13:51 ` Michael Ellerman
2022-07-07 15:53 ` Scott Cheloha
2022-06-16 1:43 ` [PATCH v2 0/4] pseries-wdt: " Daniel Henrique Barboza
2022-06-16 16:44 ` Tyrel Datwyler
2022-06-16 18:16 ` Daniel Henrique Barboza
2022-06-16 18:33 ` Daniel Henrique Barboza [this message]
2022-06-17 12:54 ` Daniel Henrique Barboza
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=77db7d29-293a-9a3e-801b-f5001ffa0f1c@gmail.com \
--to=danielhb413@gmail.com \
--cc=aik@ozlabs.ru \
--cc=brking@linux.ibm.com \
--cc=cheloha@linux.ibm.com \
--cc=linux-watchdog@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=nathanl@linux.ibm.com \
--cc=npiggin@gmail.com \
--cc=tzungbi@kernel.org \
--cc=vaishnavi@linux.ibm.com \
--cc=wvoigt@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).