Re: [-mm patch] unexport sys_{open,read}

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Al Viro <viro@...>
Cc: Christoph Hellwig <hch@...>, Adrian Bunk <bunk@...>, <perex@...>, <linux-kernel@...>
Date: Monday, September 10, 2007 - 1:25 pm

On Mon, 10 Sep 2007 13:43:58 +0100 Al Viro <viro@ftp.linux.org.uk> wrote:


A single kernel release seems sufficient.  It gives the maintainers of such
code time to hear about the breakage and time to fix it.


We have two ways of warning people about upcoming changes:
__deprecated_for_modules will cause a build-time warning and
EXPORT_UNUSED_SYMBOL() will generate a modprobe-time warning.

A year or so ago we decided that EXPORT_UNUSED_SYMBOL() should be
associated with a comment which reminds us when to kill the export.

This is all pretty lightweight.


You guys keep on talking about developers.  It's not to do with them.

Fact is, people use external modules.  To get their machines working
correctly, to get their work done, to do stuff they want done.

Many of these people are non-programmers.  So when they download a new
kernel and find that the module which they use doesn't work because of
something which we've done, they get pissed off, and we lose a tester. 
This has happened many times.

Furthermore I have on at least two occasions been working a bug with a
reporter who was unable (or unwilling, I forget) to run the latest kernel
because we'd broken some out-of-tree code which that tester uses.  So, very
occasionally the breakage interferes with our ability to fix our bugs.  


Now, the above two problems are minor ones, but it is very very easy for us
to lessen them.   We do two things:

a) Adrian's patch does

-EXPORT_SYMBOL(foo);
+EXPORT_SYMBOL_UNUSED(foo);		/* Remove in 2.6.25 */

b) Each release we do a grep for EXPORT_SYMBOL_UNUSED and clean up the
   dead ones.

Total cost of this effort: maybe ten developer minutes per release, and a
few tens of additional bytes in the released vmlinux.

I think that for a few additional testers and a few less-pissed-off users
(nothing to do with developers), this cost is justified.  That's all.


Also, Adrian goes on and on with weird theories about how I'm picking on
him.  But other patches (such as 7d12e780e003f93433d49ce78c) DO OTHER
STUFF.  Like simplify the code, and make it smaller, faster or more
maintainable or more reliable.  So the tradeoff is quite different from a
one-liner which does nothing but kill an export.  And, contrary to his
claims, we _do_ put temporary back-compat wrappers in there when we
change interfaces on those relatively rare occasions when it is possible,
and when we remember to do it.

-
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[-mm patch] unexport sys_{open,read}, Adrian Bunk, (Sun Sep 9, 4:25 pm)
Re: [-mm patch] unexport sys_{open,read}, Christoph Hellwig, (Sun Sep 9, 4:39 pm)
Re: [-mm patch] unexport sys_{open,read}, David Miller, (Mon Sep 10, 8:18 am)
Re: [-mm patch] unexport sys_{open,read}, Adrian Bunk, (Tue Sep 18, 10:10 am)
Re: [-mm patch] unexport sys_{open,read}, Christoph Hellwig, (Mon Sep 10, 8:21 am)
Re: [-mm patch] unexport sys_{open,read}, Andrew Morton, (Sun Sep 9, 5:59 pm)
Re: [-mm patch] unexport sys_{open,read}, Christoph Hellwig, (Mon Sep 10, 5:08 am)
Re: [-mm patch] unexport sys_{open,read}, Andrew Morton, (Mon Sep 10, 5:23 am)
Re: [-mm patch] unexport sys_{open,read}, Arjan van de Ven, (Mon Sep 10, 11:14 am)
Re: [-mm patch] unexport sys_{open,read}, Dave Jones, (Tue Sep 25, 5:17 pm)
Re: [-mm patch] unexport sys_{open,read}, Al Viro, (Mon Sep 10, 8:43 am)
Re: [-mm patch] unexport sys_{open,read}, Andrew Morton, (Mon Sep 10, 1:25 pm)
Re: [-mm patch] unexport sys_{open,read}, Adrian Bunk, (Mon Sep 10, 3:58 pm)
Re: [-mm patch] unexport sys_{open,read}, Andrew Morton, (Mon Sep 10, 4:17 pm)
Re: [-mm patch] unexport sys_{open,read}, Adrian Bunk, (Mon Sep 10, 6:18 pm)
Re: [-mm patch] unexport sys_{open,read}, Rene Herman, (Mon Sep 10, 6:15 pm)
Re: [-mm patch] unexport sys_{open,read}, Adrian Bunk, (Mon Sep 10, 6:41 pm)
Re: [-mm patch] unexport sys_{open,read}, Rene Herman, (Mon Sep 10, 6:56 pm)
Re: [-mm patch] unexport sys_{open,read}, Alan Cox, (Mon Sep 10, 1:44 pm)
Re: [-mm patch] unexport sys_{open,read}, Andrew Morton, (Mon Sep 10, 1:54 pm)
Re: [-mm patch] unexport sys_{open,read}, Greg KH, (Thu Sep 13, 7:23 pm)
Re: [-mm patch] unexport sys_{open,read}, Alan Cox, (Mon Sep 10, 8:31 am)
Re: [-mm patch] unexport sys_{open,read}, Adrian Bunk, (Mon Sep 10, 8:03 am)
Re: [-mm patch] unexport sys_{open,read}, Adrian Bunk, (Sun Sep 9, 6:22 pm)
Re: [-mm patch] unexport sys_{open,read}, Arjan van de Ven, (Sun Sep 9, 6:41 pm)
Re: [-mm patch] unexport sys_{open,read}, Adrian Bunk, (Sun Sep 9, 7:18 pm)