On 02/20/25 at 05:48pm, Jiri Bohac wrote: ......snip... > --- > Changes since v1: > > The key concern raised in the v1 discussion was that pages in the > CMA region may be pinned and used for a DMA transfer, potentially > corrupting the new kernel's memory. When the cma suffix is used, kdump > may be less reliable and the corruption hard to debug > > This v2 series addresses this concern in two ways: > > 1) Clearly stating the potential problem in the updated > Documentation and setting the expectation (patch 3/5) > > Documentation now explicitly states that: > - the risk of kdump failure is increased > - the CMA reservation is intended for users who can not or don't > want to sacrifice enough memory for a standard crashkernel reservation > and who prefer less reliable kdump to no kdump at all > > This is consistent with the documentation of the > crash_kexec_post_notifiers option, which can also increase the > risk of kdump failure, yet may be the only way to use kdump on > some systems. And just like the crash_kexec_post_notifiers > option, the cma crashkernel suffix is completely optional: > the series has zero effect when the suffix is not used.
Thanks for the effort to investigate and add clear note about the potential risk in document. Except of the 1 second waiting for short term pined page for DMA, the whole series looks good to me. Hope other people can also give comment to evaluate the risk of waiting, I will wait another week to add my personal ACK. Thanks Baoquan > > 2) Giving DMA time to finish before booting the kdump kernel > (patch 4/5) > > Pages can be pinned for long term use using the FOLL_LONGTERM > flag. Then they are migrated outside the CMA region. Pinning > without this flag shows that the intent of their user is to only > use them for short-lived DMA transfers. > > Delay the boot of the kdump kernel when the CMA reservation is > used, giving potential pending DMA transfers time to finish. > > Other minor changes since v1: > - updated for 6.14-rc2 > - moved #ifdefs and #defines to header files > - added __always_unused in parse_crashkernel() to silence a false > unused variable warning > > > -- > Jiri Bohac <jbo...@suse.cz> > SUSE Labs, Prague, Czechia > >