Hi Grant, On Tue, May 20, 2014 at 7:50 AM, Grant Likely <grant.likely@xxxxxxxxxxxx> wrote: >> Why has the overlay system been designed for plugging and unpluging whole >> overlays? >> That means the kernel has to remember the full stack, causing issues with >> e.g. kexec. > > Mostly so that drivers don't see any difference in the livetree data > structure. It also means that userspace sees a single representation of > the hardware at any given time. Sorry, I don't follow the argument about the "single representation of the hardware". >> Why not allowing the addition of removal of subtrees of the full device >> tree? > > Overlays is more than just a subtree. A single overlay can make > manipulations of multiple subtrees that should be handled as logically > atomic. Sure, it's more complicated due to the atomicity of multiple changes. >> This is similar to other hotpluggable subsystems (which are not necessarily >> DT-based), like PCI Express. That way the kernel can pass a >> DT-representation of the actual current device tree to a kexec'ed kernel. > > I'm not following you argument. Hardware hotplug systems like PCIe don't > manipulate the firmware data. The kernel detects the new device and > populates the Linux device model directly. Firmware provided data (ACPI > or FDT) isn't involved. I mean the kernel doesn't remember the exact order in a stack, to reverse operations. E.g. I can add hotplug a PCIe bridge with multiple devices behind it, and unplug a single device later. It's still one subtree, though. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html