RFC: libkse*.a in 7.0

Julian Elischer julian at elischer.org
Wed Nov 28 13:49:38 PST 2007


Brooks Davis wrote:
> A number of people have proposed a direction in 8.0 that would remove
> support for the syscalls and kernel data structures required by libkse.
> Apparently this would enable significant simplification of portions of
> the kernel, but I have no deeply held personal opinion.  The intent is
> that if that happens, alternate versions of the necessicary dynamic
> libraries will be supplied in updated compat#x packages.  This will
> address most consumers.  The one set of consumers that would not be
> addressed is those who have statically linked, threaded binaries using
> libkse.

Actually the simplifications in the kernel are almost negigable.
KSE support is almost totally contained within kern_kse.c at this time.
When KSEG support was removed, most of the changes outside of htis file were removed..

the remaining changes not in that file could be moved to that file relatively easily.

> 
> Kris and I realized that if we went that route, life would be
> significantly easier if it was difficult to create statically linked,
> binaries using libkse under FreeBSD 7.x.  As a result I would like
> to commit and MFC the following patch which disables building and
> installing libkse*.a in the default case.  This would mean that
> significant effort would be required to create a statically linked
> application that uses the KSE syscalls.
> 
> I believe that removing libkse*.a has little downside and leaves the way
> open for either removing or enhancing the KSE system and is the right
> thing to do.

If you wish.. however the performance downside of KSE is that we have 
not run schedgraph on it and looked at what happens, rather than it being
against a wall of some sort.. the fact that it is slower than thr in most 
cases is because there is a bug that stops it from scheduling correctly.

As I have not had the time or extreme burst of energy needed to find this bug
it has not been found, but the fact that it rarely schedules threads 
onto > 1 cpu at a time is not inherrent in the design.






More information about the freebsd-arch mailing list