mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Dave Dillow <dave@thedillows.org>
To: Denis Vlasenko <vda@ilport.com.ua>
Cc: netdev@vger.kernel.org, "David S. Miller" <davem@davemloft.net>,
	linux-kernel@vger.kernel.org, jgarzik@pobox.com
Subject: Re: [PATCH] deinline a few large functions in vlan code v2
Date: Wed, 12 Apr 2006 13:18:45 -0400	[thread overview]
Message-ID: <1144862325.18319.32.camel@dillow.idleaire.com> (raw)
In-Reply-To: <200604121155.55561.vda@ilport.com.ua>

On Wed, 2006-04-12 at 11:55 +0300, Denis Vlasenko wrote:
> On Tuesday 11 April 2006 16:59, Dave Dillow wrote:
> > DaveM beat me to it, but as he said, it saves 5K only if you have all
> > the drivers built in
> 
> I have most of network drivers built in.
> I want network card to work right away in early boot,
> and I prefer to not regenerate initrd with new nic modules for
> each new kernel which I build for diskless stations.

Do you really intend to say that you are the common case, and that this
5K really matters? I'm all for removing bloat, but not without looking
at the real savings vs the cost.

> > or loaded. And even if it saves 200 bytes in one 
> > module, unless that module text was already less than 200 bytes into a
> > page, you've saved no memory -- a 4300 byte module takes 2 pages on x86,
> > as does a 4100 byte module.
> 
> Sometimes, those 200 bytes can bring module size just under 4096.
> Thus on the average, on many modules you get the same size savings
> as on built-in code. (Not that we have THAT many network modules...)

You're making a bogus leap from "sometimes" to "average".

Assuming an even distribution of lengths mod 4096, less than 5% of the
time will 200 bytes save any memory on a module.

Since we're both making big assumptions, only real numbers from built
modules would be convincing.

> > NAK. The #ifdefs are ugly, for no significant gain.
> > 
> > And you introduced a race condition when you moved the spin_locks. The
> > test for tp->vlgrp is no longer protected.
> 
> See attached. Much less #ifdefs (most of the time I test for compile time
> constant VLAN_ENABLED in the if()s instead), the race is fixed.

Testing for VLAN_ENABLED in an if statement is better than the ifdefs, I
agree, but I still find it ugly. Probably not ugly enough to argue about
it any more.

I don't like "VLAN_ENABLED" as a global define -- it looks too much like
something local. The CONFIG_VLAN... defines were more descriptive.

I didn't think about this before, but I'm pretty sure you're taking away
functionality. When I wrote the typhoon driver, ISTR that I looked
through the vlan implantation, and determined that all the #ifdefs on
CONFIG_VLAN_8021Q were not really needed, since all the hooks were
there. You could just load the 8021q module (even perhaps building it at
a later date), and it would work if you had filled in the hooks in
struct net_device. So I didn't #ifdef out code in my driver to let the
user have the option.

You're taking that away in the name of a total of 5K, which most users
won't actually get back?
-- 
Dave Dillow <dave@thedillows.org>


  reply	other threads:[~2006-04-12 17:18 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-07 13:28 [PATCH] deinline a few large functions in vlan code Denis Vlasenko
2006-04-07 20:25 ` David S. Miller
2006-04-10  5:28   ` Denis Vlasenko
2006-04-10  5:45     ` David S. Miller
2006-04-10 14:16       ` [PATCH] deinline a few large functions in vlan code v2 Denis Vlasenko
2006-04-10 14:31         ` Auke Kok
2006-04-10 15:26         ` Dave Dillow
2006-04-11  7:28           ` Denis Vlasenko
2006-04-11  8:02             ` David S. Miller
2006-04-11  9:49             ` Ingo Oeser
     [not found]               ` <200604111502.52302.vda@ilport.com.ua>
2006-04-11 13:17                 ` Ingo Oeser
2006-04-12 19:32                   ` [RFD][PATCH] typhoon and core sample for folding away VLAN stuff (was: Re: [PATCH] deinline a few large functions in vlan code v2) Ingo Oeser
2006-04-12 20:10                     ` [RFD][PATCH] typhoon and core sample for folding away VLAN stuff Ben Greear
2006-04-12 20:23                       ` Stephen Hemminger
2006-04-12 20:51                       ` David S. Miller
2006-04-13  1:24                     ` Dave Dillow
2006-04-13  8:38                       ` Denis Vlasenko
2006-04-13 15:00                         ` Dave Dillow
2006-04-11 13:59             ` [PATCH] deinline a few large functions in vlan code v2 Dave Dillow
2006-04-12  8:55               ` Denis Vlasenko
2006-04-12 17:18                 ` Dave Dillow [this message]
2006-04-13  6:04                   ` Denis Vlasenko
2006-04-13 14:59                     ` Dave Dillow
2006-04-13 11:32                   ` Ingo Oeser

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=1144862325.18319.32.camel@dillow.idleaire.com \
    --to=dave@thedillows.org \
    --cc=davem@davemloft.net \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=vda@ilport.com.ua \
    /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

all inboxes | Powered by JetHome®