tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: POSIX.1 semaphores vs message queues
On Nov 9, 8:05am, Paul Goyette wrote:
} On Sun, 8 Nov 2015, Masao Uebayashi wrote:
}
} >> I don't see the point in having options for every single system call or
} >> the like. At best, it is a form of modularity masturbation and at worst,
} >> it is asking for difficult to analyze bugs when someone actually insists
} >> on removing them.
} >
} > You need subsystem dependency information for decent initialization
} > (a.k.a. kctors) ordering anyway.
} >
} > I also think that creating (practically useless) reduced kernel helps
} > unit-testing.
}
} I'm not sure about helping unit testing, but it definitely helps to
} keep the code organized.
}
} If any bugs do arise, they should be fixed, just like any other bugs.
} One might argue that having this code as optional/removeable offers
} new opportunities for finding bugs which affect other modules and/or
} the loadable module mechanisms, and exposing and fixing these bugs
} is beneficial to the project as a whole.
}
} So far, the only objections seem to be:
}
} * semaphores are pretty common, just about everyone will use
} them, so there's no reason for them to be optional or
} removeable
}
} * the semaphore code is fairly small, and having it as an
} optional/removable module doesn't gain very much, and
} isn't worth the effort.
}
} Well, both EXEC_SCRIPT and COREDUMP are modularized, and they _are_
} optional. I would contend that EXEC_SCRIPT is much more widely used
} than the semaphore code, and much more critical to operation of nearly
} every NetBSD kernel, yet we still build them as optional/removable
} modules. (And yes, I actually run my "production" machine with these
} two modules - as well as AOI, MQUEUE, and EXEC_ELF64! - removed from
} the baseline kernel; they all get auto-loaded as needed.)
}
} 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.
}
} So, unless there are strenuous objections, I'm planning to resurrect
} the SEMAPHORE module in about a week.
You've had objections. It serves no purpose.
}-- End of excerpt from Paul Goyette
Home |
Main Index |
Thread Index |
Old Index