Re: [PATCH for mm] Remove iBCS support

Andi Kleen
2008-01-20T05:52:26Z

On Sun, Jan 20, 2008 at 04:03:22PM +1030, David Newall wrote:
> It's not necessarily that simple. It might be for KFC and Dominoes, but
> for others, SCO is not the complete story. Many legacy systems are
> written in COBOL, and must pay a per-seat licence for that on top of the
> per-seat licence for UNIX. It is these systems that are most attracted
> towards SCO compatibility.

Well I'm sure if they migrate they can either recompile or pay someone
to forward port and apply and support the iBCS emulation patchkit.
And for that person it will be only a few minutes to readd these hunks.

However it doesn't make any sense to have all Linux systems ever
out there who can't even run these binaries without significantly
changing the kernel have carry the overhead of these unnecessary checks.

>
> >>> But it does not make sense for all Linux kernels to always check for iBCS executables
> >>> when they don't have to code to run them anyways.
> >>>
> >>>
> >> I don't suppose you're suggesting this will make a big difference. Even
> >> if every exec did nothing but immediately exit, it still wouldn't make
> >> much difference.
> >>
> >
> > It's not a big difference, but why do unnecessary work on all
> > Linux kernels? There are a lot of Linux machines out there and
> > if all of them only do a little unnecessary work each fork()
> > over a year it adds up to really a lot of wasted cycles.
> >
>
> It still adds up to something that nobody can perceive, not even using a
> very fine stopwatch and counting over a period of years.

I'm not sure the cost is that low because they access one (or more likely
two) out of line data cache line for the two strings and kernel often runs
cache cold because userland tends to fill the caches and then a cache miss
can be actually hundreds of cycles, possibly multiplied by two.

But assuming there is no cache miss (which is a very conservative
assumption) and the strcmps cost 20 cycles and you got 1 million
2Ghz Linux systems out there doing 100k execs each day we're talking
about 1000 CPU seconds wasted each day. That should be certainly
measurable on most stop watches.

>
> > Especially since the few people who might really
> > need it can easily readd it.
> >
> No. Very few people can add it, easily or otherwise.

They have to patch the kernel in non trivial ways anyways because they
would need to patch in the whole old iBCS emulation layer.

(e.g. the old default ldt code which was for iBCS was just dropped --
strangely you didn't raise your voice against that)

> Perhaps KFC could
> employ somebody to add it, but they'd more likely be able to convert
> their entire software stack instead. The paint shops and mechanics of
> the world would have little chance of that.

Sorry, but I don't think you know what you're talking about here.

-Andi