The only in-tree consumer currently looks like the linuxkpi.
This means it's included for all the non-linuxkpi platforms.
This saves a bit of kernel size on embedded platforms which
don't need it.
Differential D10778
[concurrency_kit] turn this into a module! adrian on May 17 2017, 8:04 PM. Authored by Tags None Referenced Files
Details
The only in-tree consumer currently looks like the linuxkpi. This saves a bit of kernel size on embedded platforms which
Diff Detail
Event TimelineComment Actions Except there are plans to use it elsewhere. Many areas may be improved using it. Having it as a module would mean some devs might refrain from using it because Areas like VFS and network stack could have a good benefice from using it. Out of curiousity what size is saved? Comment Actions 40k on amd64. It looks like quite a bit more (~300k?) on mips, i'll dig later. It's one of the death-by-a-thousand-cuts that makes it hard to squeeze into the low-cost IoT thingies being made, and I'm trying to arrest some of that growth. If it gets used elsewhere then great. Right now it's just used in the linuxkpi layer and it only looks like it's being used for the RCU implementation. Comment Actions I'd like to have some more in-depth detail on the size issue. I have no real objection to this but agree with bapt about the signal it gives to other developers, so I'd want there to be an understanding it will go back to being standard when other consumers appear. Comment Actions It's used in core kernel code now. To limit size damage, it may be possible to restrict what is built-in on smaller platforms (e.g., do we need anything other than epoch support code?). But I think a module is no longer a useful option, since it will need to be loaded everywhere. |