Re: [PATCH v5 00/17] KVM nVHE Hypervisor stack unwinder

Oliver Upton
2022-07-22T10:48:44Z

Hi Kalesh,

On Wed, Jul 20, 2022 at 10:57:11PM -0700, Kalesh Singh wrote:

[...]

> Kalesh Singh (17):
> arm64: stacktrace: Add shared header for common stack unwinding code
> arm64: stacktrace: Factor out on_accessible_stack_common()
> arm64: stacktrace: Factor out unwind_next_common()
> arm64: stacktrace: Handle frame pointer from different address spaces
> arm64: stacktrace: Factor out common unwind()
> arm64: stacktrace: Add description of stacktrace/common.h
> KVM: arm64: On stack overflow switch to hyp overflow_stack
> KVM: arm64: Add PROTECTED_NVHE_STACKTRACE Kconfig
> KVM: arm64: Allocate shared pKVM hyp stacktrace buffers
> KVM: arm64: Stub implementation of pKVM HYP stack unwinder
> KVM: arm64: Stub implementation of non-protected nVHE HYP stack
> unwinder
> KVM: arm64: Save protected-nVHE (pKVM) hyp stacktrace
> KVM: arm64: Prepare non-protected nVHE hypervisor stacktrace
> KVM: arm64: Implement protected nVHE hyp stack unwinder
> KVM: arm64: Implement non-protected nVHE hyp stack unwinder
> KVM: arm64: Introduce pkvm_dump_backtrace()
> KVM: arm64: Introduce hyp_dump_backtrace()

Adding a general comment on the organization of the series. I think for
the next spin it'd be good to organize the entire non-pKVM
implementation first, followed by the pKVM implementation. Otherwise,
reviewers need to jump around the series a lot in order to page in the
appropriate context.

I had mentioned this about the last two patches earlier, but after
grokking the stack I see the comment applies to the entire KVM portion
of the series.

--
Thanks,
Oliver