[PATCH] powerpc/fadump: Add timeout to RTAS busy-wait loops

Sourabh Jain sourabhjain at linux.ibm.com
Tue Apr 14 20:29:35 AEST 2026



On 14/04/26 03:07, litaliano00 wrote:
> On Mon, Apr 13, 2026, 15: 50 Sourabh Jain 
> <sourabhjain@ linux. ibm. com> wrote: > What is the rationale behind 
> choosing a 60-second limit? The 60-second value was chosen somewhat 
> arbitrarily. Looking at rtas_busy_delay_time(), the maximum
> 
> On Mon, Apr 13, 2026, 15:50 Sourabh Jain <sourabhjain at linux.ibm.com> 
> wrote:
>
>     > What is the rationale behind choosing a 60-second limit? 
>
>
>     The 60-second value was chosen somewhat arbitrarily. Looking at
>
>     rtas_busy_delay_time(), the maximum single delay returned is 100000ms
>
>     (status 9905). In practice, legitimate busy delays are expected to be
>
>     much shorter. I was following the spirit of rtas-rtc.c which uses a
>
>     5-second limit for simpler operations; fadump is a heavier firmware
>
>     operation, so I went higher. I am open to suggestions on a more
>
>     principled value.
>


phyp/RTAS is a black box to me, so it is hard to conclude
what happens during fadump register/unregister/invalidate.
However, based on QEMU's fadump implementation, all three
operations do not seem very complex.

That said, I am OK with a 60 sec timeout.

I would also recommend adding pr_debug logs when the wait
time is hit. It might help debug cases where the kernel
reaches the 60 sec limit especially during boot.

- Sourabh Jain

>
>     > Would it make sense to introduce a helper function to wrap the
>
>     > rtas_call, along with handling the wait time and timeout?
>
>
>     Absolutely, I will introduce a helper in v2. The three sites are
>
>     indeed identical except for the FADUMP_REGISTER/UNREGISTER/INVALIDATE
>
>     argument and the struct pointer/size. I will factor out the common
>
>     busy-wait loop into a static helper.
>
>
>     Will send v2 shortly from my new email adri.vero.dev at gmail.com
>
>
>     Adriano
>
>



More information about the Linuxppc-dev mailing list