Messages in this thread | | | Date | Sat, 3 Mar 2012 08:37:26 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/4] mce: Slim up struct mce |
| |
* Luck, Tony <tony.luck@intel.com> wrote:
> > Drop unused ->apicid, make ->socketid __u16 since it is > > copied from struct cpuinfo_86.phys_proc_id, reorder members > > and adjust padding so that it remains packed and on a > > 64-byte boundary. > > This structure is user visible via /dev/mcelog. The mcelog(8) > daemon has been coded to cope with extra fields being added to > the end of the structure (an old daemon that doesn't know what > they are will just skip over them). But things will break if > you change the offsets of any fields that it does know about.
Please separate out a 'struct mce_legacy' data type that contains the /dev/mcelog format, and use it in the place that outputs to /dev/mcelog (and convert from 'struct mce' to 'struct mce_legacy' and back when interacting with /dev/mcelog).
This keeps 'struct mce' kernel internal and flexible. A pure kernel internal structure should never have been exported like this to begin with, doing that results in problems like this.
Thanks,
Ingo
| |