netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Adrian Bunk <bunk@kernel.org>
To: Bodo Eggert <7eggert@gmx.de>
Cc: Jan Engelhardt <jengelh@computergmbh.de>,
	devzero@web.de, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH] Force UNIX domain sockets to be built in
Date: Mon, 31 Dec 2007 19:51:58 +0200	[thread overview]
Message-ID: <20071231175158.GA2360@does.not.exist> (raw)
In-Reply-To: <alpine.LSU.0.999.0712311553530.4211@be1.lrz>

On Mon, Dec 31, 2007 at 04:19:23PM +0100, Bodo Eggert wrote:
> On Mon, 31 Dec 2007, Adrian Bunk wrote:
> > On Mon, Dec 31, 2007 at 02:26:42PM +0100, Bodo Eggert wrote:
> > > On Mon, 31 Dec 2007, Adrian Bunk wrote:
> > > > On Mon, Dec 31, 2007 at 01:09:43PM +0100, Bodo Eggert wrote:
> 
> > > > > As suggested by Adrian Bunk, UNIX domain sockets should always be built in 
> > > > > on normal systems. This is especially true since udev needs these sockets
> > > > > and fails to run if UNIX=m.
> > > > > 
> > > > > Signed-Off-By: Bodo Eggert <7eggert@gmx.de>
> > > > > 
> > > > > ---
> > > > > Last minute change: I decided against making it a bool because embedded 
> > > > > folks might depend on a small kernel image. Edited in the patch below.
> > > > >...
> > > > 
> > > > Is this just a purely theoretical thought or is this a reasonable use 
> > > > case people actually use in practice?
> > >  
> > > For now, it's a theoretical thought, but having an embedded device, I can 
> > > see the reason for $EVERYTHING=m there.
> > 
> > The only advantage I see is that the kernel image you have to flash 
> > can be made smaller - with the disadvantage that the running kernel
> > is bigger by more than 10%.
> > 
> > If you don't believe me, try it yourself:
> > Build all drivers statically into your kernel, and then compare the 
> > vmlinux sizes with CONFIG_MODULES=n and CONFIG_MODULES=y.
> 
> If you'd aim for a small kernel image, you would build anything as a module 
> that is not requred for booting.
> 
> > > > After all, changing it to a bool will allow us to make the kernel image 
> > > > for nearly everyone smaller by a few hundred bytes...
> > > 
> > > I can't see why optionally building it as a module would force us to make 
> > > the kernel bigger. It may be a little more ugly to support =m, but thats it,
> > > isn't it?
> > 
> > On architectures like x86 where __exit code is freed at runtime 
> > af_unix_exit() makes your kernel image (but not the running kernel) 
> > bigger.
> > 
> > With CONFIG_MODULES=y the 13 EXPORT_SYMBOL's that only exist for the 
> > theoretical possibility of CONIG_UNIX=m waste a few hundred bytes 
> > of memory.
> 
> #define m='m'
> #if CONIG_UNIX=='m'
> #define EXPORT_SYMBOL_AF_UNIX EXPORT_SYMBOL
> #else
> #define EXPORT_SYMBOL_AF_UNIX()
> #endif
> #undef m
> 
> You could also use "#if defined(C_U) && (C_U == m)".

Look at the number of exports in the kernel and the number of lines 
changed per months, and it becomes obvious that somwthing like that
would not be maintainable.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


  parent reply	other threads:[~2007-12-31 17:52 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-31 12:09 [PATCH] Force UNIX domain sockets to be built in Bodo Eggert
2007-12-31 12:20 ` David Miller
2007-12-31 14:03   ` Bodo Eggert
2007-12-31 19:38     ` Al Viro
2008-01-01  3:45       ` Bodo Eggert
2008-01-01  3:48         ` David Miller
2008-01-01  4:48           ` Bodo Eggert
2008-01-01  5:01         ` Theodore Tso
2008-01-02 10:25           ` Herbert Xu
2008-01-02 12:26             ` Bodo Eggert
2007-12-31 12:24 ` Adrian Bunk
2007-12-31 13:26   ` Bodo Eggert
2007-12-31 14:42     ` Adrian Bunk
2007-12-31 15:19       ` Bodo Eggert
2007-12-31 15:34         ` Jan Engelhardt
2007-12-31 17:43           ` Patrick Mau
2007-12-31 22:20             ` Jan Engelhardt
2007-12-31 17:51         ` Adrian Bunk [this message]
2007-12-31 18:05         ` Adrian Bunk
2007-12-31 15:55       ` Torsten Kaiser
2007-12-31 15:59         ` Michael Buesch
2007-12-31 16:01           ` Alan Cox
2007-12-31 16:17             ` Torsten Kaiser
2007-12-31 16:38               ` Alan Cox
2007-12-31 17:18                 ` Michael Buesch
2007-12-31 18:37                   ` Torsten Kaiser
2007-12-31 19:05                     ` Michael Buesch
2007-12-31 16:11           ` Torsten Kaiser
  -- strict thread matches above, loose matches on Subject: below --
2007-12-31 13:23 devzero

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20071231175158.GA2360@does.not.exist \
    --to=bunk@kernel.org \
    --cc=7eggert@gmx.de \
    --cc=devzero@web.de \
    --cc=jengelh@computergmbh.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).