* Eric W. Biederman <ebied...@xmission.com> wrote:

> Ingo Molnar <mi...@kernel.org> writes:
> 
> >  - Split it into finer grained steps (3 instead of 2 patches per 
> >    movement), for easier review and bisection testing:
> >
> >      toplevel: Move ipc/ to kernel/ipc/: move the files
> >      toplevel: Move ipc/ to kernel/ipc/: adjust the build system
> >      toplevel: Move ipc/ to kernel/ipc/: adjust comments and documentation
> 
> Can we not mess with ipc/ please.
> 
> I know that will mess with my muscle memory and I don't see the point.
> Especially as long as it is named ipc and not sysvipc.
> 
> A half cleanup really looks worse than a real cleanup.
> 
> SysV IPC really is a side car on the kernel and on unix in general
> and having the directory structure reflect that seems completely sensible.

While such objections are I think valid for scripts/, the situation is 
very different for ipc/:

 - ipc/ is a tiny subsystem of just ~9k lines of code, and it's in the 
   top level directory for historical reasons.

 - ipc/ is an established subsystem of old interfaces with comparatively 
   very few changes these days: there were just about 16 commits added in 
   the last 12 months that changed the code and had 'ipc' in the title. 
   Somewhat ironically, the biggest commit of all was a "system call 
   renaming" commit:

     275f22148e87: ipc: rename old-style shmctl/semctl/msgctl syscalls
     14 files changed, 137 insertions(+), 62 deletions(-)

   Many of the remaining 15 commits were simple in nature - and there 
   were 9 different authors, i.e. the per author frequency of changes for 
   ipc/ is even lower: around one per year for those 9 developers who are 
   interested in ipc/ changes. I doubt there's much muscle memory even 
   for them as a result.

 - The 'muscle memory' argument has to be weighted by probability of 
   interest (linecount), probability of change (frequency of commits) and 
   number of authors. These factors add up to a very low change frequency 
   for ipc/. We've moved and consolidated much, much bigger and higher 
   frequency subsystems in the recent past, such as kernel/sched/ or 
   kernel/locking/.

 - The ipc/ location is arguably random and idiosynchratic - it's a 
   leftover from old times nobody really bothered to clean up - but that 
   fact shouldn't be a permanent barrier IMO.

 - While uncluttering the top level directory for aesthethic and 
   documentation reasons is one technical factor, there's another reason 
   for my ipc/ movement: I have the secret hope to be able to move init/ 
   to kernel/init/ as well, in which case there's a big muscle memory 
   advantage for the future: 'i<tab>' would expand to include/ in a 
   single step! :-) Now *that* is perhaps the highest frequency muscle 
   memory location in the kernel. ;-)

Or looking at it from another angle: if we applied your ipc/ benchmark 
then basically almost *nothing* could be moved from the toplevel 
directory or any other location, pretty much *ever*.

Thanks,

        Ingo

Reply via email to