On Fri, Oct 1, 2021 at 5:31 AM Lee Jones <lee.jones@xxxxxxxxxx> wrote: > > On Fri, 01 Oct 2021, Arnd Bergmann wrote: > > The vmlinux file is clearly too big and includes too much stuff that should > > be in loadable modules > > This for me is the crux of the matter. > > The ability to replace modules was only brought to light as an "and > also, this is possible". However in retrospect, given the attention > this has received, it probably shouldn't have even mentioned, as it's > not that important. Too late, unfortunately. I would actually argue that given the benefit of needing more vendor engagement upstream for GKI to be smooth, it's in our interest to welcome those engagements and make the most of it and help vendors get there, and it's against those interests to make it easier to be out-of-tree if it comes at the expense of our in-tree users and maintainers which this does. > We should focus on the benefits of making parts of the kernel modular > if technically possible. The most prominent of those is core binary > size, since this has a direct impact on boot-time and RAM usage. The way forward here should be to focus on the problem that needs to be solved (vmlinux size) and not overly fixate on whether this patchset is what needs to be merged to reach there, given the downsides observed. I'm not saying let's not improve vmlinux binary size, but this particular approach isn't appealing. > Reclaiming dead code after boot is certainly one way to tackle part of > the problem. Ensuring that it's not even loaded into RAM in the first > place is a better more encompassing solution to both issues IMHO. See my reply to Arnd; the reason some of these drivers aren't modules today is because they are needed during early boot to bring the platform to a stable operating point. Work on fixing the binary size is terrific, but this approach seems to be shortsighted and it's been done in a way that rubs the maintainers the wrong way. -Olof