Re: [PATCH 1/2] init: Introduce early initrd files through uncompressedcpio passing

From: H. Peter Anvin
Date: Sat Jul 21 2012 - 11:22:31 EST


On 07/18/2012 03:36 AM, Thomas Renninger wrote:
cpio parsing code comes from H. Peter Anvin.
The CONFIG_EARLY_INITRD feature is architecture independent, but
for now only enabled/called for X86.
The problem is that initrd_start must be valid, but there is no
architecture independent reserve_initrd() call in init/main.c or
similiar.
+ * Add here new callback functions and the path relevant files show up in an
+ * uncompressed cpio
+ */
+static __initdata struct initrd_early_data initrd_early_callbacks[] =
+{
+ {
+ .namesp = NULL,
+ }
+};
+

I don't like your callback interface at all. In fact, it is actively broken, because it assumes that all early users are runnable at the same time, which is trivially shown false -- the microcode work that Fenghua Yu is working on needs access to its early data much, much earlier than your ACPI code.

So big NAK on this change. Instead we should stick to the imperative interface that I had in my original code (call the search function with a filename and let it return a pointer if found.)

-hpa

--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel. I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/