[Crash-utility] [PATCH v2 0/6] Second phase of future support for x86_64 5-level page tables

Dou Liyang douly.fnst at cn.fujitsu.com
Wed Jan 17 09:02:51 UTC 2018


Hi Dave,

[...]
> Hello Dou,
> 
> Completing my review may take me longer than expected due to other tasks
> I have to take care of first.  Please excuse my delay.
> 

Aha, never mind! As you said, this patchset also has some problem,
I will do more test and resend a new version.

> However, I did notice one problem w/respect to your changes to defs.h.
> When modifying any exported data structure in defs.h, be aware that the
> change may break extension modules that have been previously compiled
> against older versions of defs.h.
Oops! I did not consider with this, really thank you for your remind.

> For example, the following changes to the x86_64 machine_specific data
> structure would break extension modules that have been previously compiled
> against earlier versions of defs.h -- if the extension module uses fields in
> the machine_specific data structure that come after the members that you
> have removed:
> 
> @@ -5747,10 +5735,6 @@ struct machine_specific {
>          ulong modules_vaddr;
>          ulong modules_end;
>          ulong phys_base;
> -        char *pml4;
> -       char *upml;
> -       ulong last_upml_read;
> -       ulong last_pml4_read;
>          char *irqstack;
>          ulong irq_eframe_link;
>          struct x86_64_pt_regs_offsets pto;
> @@ -5765,6 +5749,7 @@ struct machine_specific {
>          ulong kernel_image_size;
>          ulong physical_mask_shift;
>          ulong pgdir_shift;
> +       ulong ptrs_per_pgd;
>           char *p4d;
>          ulong last_p4d_read;
>          struct ORC_data orc;
> 
> So in the situation above:
> 
>   (1) Please do not remove the pml4, upml, last_upml_read and last_pml4_read members.
>       (You could add an "/* obsolete */" comment after them if you'd like.)
>   (2) When adding a new member such as ptrs_per_pgd above, please place it at the
>       end of the machine_specific data structure.
> 
> That way, the member offsets of the original structure members would not change
> and previously compiled extension modules would be unaffected.
> 

Yes, Understood! I will check that.

Thanks,
	dou





More information about the Crash-utility mailing list