lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.64.0707261705160.4183@asgard.lang.hm>
Date:	Thu, 26 Jul 2007 17:12:07 -0700 (PDT)
From:	david@...g.hm
To:	Jeff Garzik <jeff@...zik.org>
cc:	Dirk Schoebel <dirk@...i-und-dirk.de>, ck@....kolivas.org,
	Nick Piggin <nickpiggin@...oo.com.au>,
	Ray Lee <ray-lk@...rabbit.org>,
	Eric St-Laurent <ericstl34@...patico.ca>,
	linux-kernel@...r.kernel.org, linux-mm@...ck.org,
	Paul Jackson <pj@....com>, Jesper Juhl <jesper.juhl@...il.com>,
	Andrew Morton <akpm@...ux-foundation.org>,
	Rene Herman <rene.herman@...il.com>
Subject: Re: [ck] Re: -mm merge plans for 2.6.23

On Thu, 26 Jul 2007, Jeff Garzik wrote:

> david@...g.hm wrote:
>>  On Thu, 26 Jul 2007, Jeff Garzik wrote:
>> 
>> >  Dirk Schoebel wrote:
>> > >   as long as the maintainer follows the kernel development things can 
>> > >   be
>> > >   left in, if the maintainer can't follow anymore they are taken out 
>> > >  quite
>> > >  fast again. (This statement mostly counts for parts of the kernel 
>> > >  where a
>> > >  choice is possible or the coding overhead of making such choice 
>> > >  possible
>> > >   is quite low.)
>> > 
>> > 
>> >  This is just not good engineering.
>> > 
>> >  It is axiomatic that it is easy to add code, but difficult to remove 
>> >  code. It takes -years- to remove code that no one uses.  Long after the 
>> >  maintainer disappears, the users (and bug reports!) remain.
>>
>>  I'll point out that the code that's so hard to remove is the code that
>>  exposes an API to userspace.
>
> True.
>
>
>>  code that's an internal implementation (like a couple of the things being
>>  discussed) gets removed much faster.
>
> Not true.  It is highly unlikely that code will get removed if it has active 
> users, even if the maintainer has disappeared.

if you propose removing code in such a way that performance suffers then 
yes, it's hard to remove (and it should be).

but if it has no API the code is only visable to the users as a side 
effect of it's use. if the new code works better then it can be replaced.

the scheduler change that we're going through right now is an example, new 
code came along that was better and the old code went away very quickly.

the SLAB/SLOB/SLUB/S**B debate is another example. currently the different 
versions have different performance advantages and disadvantages, as one 
drops behind to the point where one of the others is better at all times, 
it goes away.

> The only things that get removed rapidly are those things mathematically 
> guaranteed to be dead code.
>
> _Behavior changes_, driver removals, feature removals happen more frequently 
> than userspace ABI changes -- true -- but the rate of removal is still very, 
> very slow.

a large part of this is that it's so hard to get a replacement that works 
better (this is very definantly a compliment to the kernel coders :-)



> It is axiomatic that we are automatically burdened with new code for at 
> least 10 years :)  That's what you have to assume, when accepting 
> anything.

for userspace API's 10 years is reasonable, for internal features it's 
not. there is a LOT of internal stuff that was in the kernel 10 (or even 
5) years ago that isn't there now. the key is that the behavior as far as 
users is concerned is better now.

David Lang
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ