* Len Brown <l...@kernel.org> wrote: > From: Len Brown <len.br...@intel.com> > > Modern processor familes are on a white-list to remove > the costly cpu_init_udelay 10000. Unknown processor families > get the traditional 10ms delay in cpu_up(). > > This seemed more efficient than forcing modern processors > to exhaustively search a black-list having all the old > processor families that should have a 10ms delay. > For not only are new processor familes infrequently added, > the white list also allows a delay other than 0, if needed.
> static unsigned int init_udelay = UDELAY_10MS_DEFAULT; > > +static const struct x86_cpu_id init_udelay_ids[] = { > + { X86_VENDOR_INTEL, 0x6, X86_MODEL_ANY, X86_FEATURE_ANY, 0 }, > + { X86_VENDOR_AMD, 0x16, X86_MODEL_ANY, X86_FEATURE_ANY, 0 }, > + { X86_VENDOR_AMD, 0x15, X86_MODEL_ANY, X86_FEATURE_ANY, 0 }, > + { X86_VENDOR_AMD, 0x14, X86_MODEL_ANY, X86_FEATURE_ANY, 0 }, > + { X86_VENDOR_AMD, 0x12, X86_MODEL_ANY, X86_FEATURE_ANY, 0 }, > + { X86_VENDOR_AMD, 0x11, X86_MODEL_ANY, X86_FEATURE_ANY, 0 }, > + { X86_VENDOR_AMD, 0x10, X86_MODEL_ANY, X86_FEATURE_ANY, 0 }, > + { X86_VENDOR_AMD, 0xF, X86_MODEL_ANY, X86_FEATURE_ANY, 0 }, > + {} > +}; So since especially AMD likes to iterate the family upwards, why not make this a simple open ended check: if (boot_cpu_data.x86_vendor == X86_VENDOR_INTEL && boot_cpu_data.x86 >= 6 || boot_cpu_data.x86_vendor == X86_VENDOR_AMD && boot_cpu_data.x86 >= 15) { ... 0 delay ... } ... which is much smaller and more future proof? Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/