On 2024/04/16 18:47, Tao Liu wrote:
Hi Aureau,
On Tue, Apr 16, 2024 at 5:14 PM Aureau, Georges (Kernel Tools ERT)
<georges.aureau(a)hpe.com> wrote:
>
> Hello Tao Liu,
>
> We don't update machdep->machspec->irq_eframe_link as it is now more a
reference point for trying various link offsets (+8, -8, +16, -16) around it.
> This reference point should be viewed as the most likely link offset, and if we fail,
we try around it, but without updating this reference point,
> otherwise we lose our reference point and the offsets we would be trying next would
have a different meaning.
> Different processors may be caught in different IRQ/SYSVEC functions with different
framesizes,
> so there is no longer a unique (same for all IRQ/SYSVEC functions) link offset, so we
can't compute one eframe link for all.
> We are adapting the eframe link offset on the fly based on possible IRQ/SYSVEC
function framesizes, ie.
> most likely -32, then try -40, then -24, then -48, then -16.
> If we would update as we find a link, let's say -16, then next time around,
> most likely -16, then try -24, then -8, then -32, then 0, eg. we would lose the -40
and -48.
> So if we have a most likely eframe link as a reference point, we should not move this
point.
> The comment in x86_64_irq_eframe_link() for the patch I'm suggesting is saying:
> "keep ms->irq_eframe_link as the most likely value, and try a few sizes
around it."
> See below:
Thanks for the explanation, it sounds reasonable. OK I have no other
comments for this patch, so ack.
ok, the patch has got more than one acks and Lianbo also agreed.
The commit message looks long and not for being merged as it is, I've
tweaked and shortened it a bit and applied.
https://github.com/crash-utility/crash/commit/7d4daf0c035409f677afd87e8d3...
Thanks!
Kazu