On Mon, 9 Nov 2015, Joerg Sonnenberger wrote:
On Mon, Nov 09, 2015 at 08:05:43AM +0800, Paul Goyette wrote:Well, both EXEC_SCRIPT and COREDUMP are modularized, and they _are_ optional.See part about modularity masturbation. Making things optional for the sake of making them optional is just as wrong.Both EXEC_SCRIPT and COREDUMP are also much smaller than the ksem code; these two optional/removeable modules together add up to just about the size of a SEMAPHORE module. (On amd64 we have exec_script weighing in at 1285 bytes and coredump at 3895 bytes, while ksem tips the scales at 5186 bytes). There are numerous other modules which are similar in size to the SEMAPHORE module.Add in the page alignment and the cost becomes even larger. There is nothing to be gained.
The gain is flexibility, for those who may want it. And possibly finding (and eventually fixing) latent bugs, either in the semaphore code itself or in the module system, which can be exposed by making the code optional and loadable. We also gain consistency with existing practice, evidenced by the various examples I've cited. There is nothing to be lost for anyone who doesn't explicitly remove the semaphore code from their kernel via 'no options'. +------------------+--------------------------+-------------------------+ | Paul Goyette | PGP Key fingerprint: | E-mail addresses: | | (Retired) | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com | | Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org | +------------------+--------------------------+-------------------------+