[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m1k4ycjt4q.fsf@fess.ebiederm.org>
Date: Fri, 30 Oct 2009 17:37:25 -0700
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Benjamin LaHaise <bcrl@...et.ca>
Cc: Eric Dumazet <eric.dumazet@...il.com>,
Octavian Purdila <opurdila@...acom.com>,
netdev@...r.kernel.org, Cosmin Ratiu <cratiu@...acom.com>
Subject: Re: [PATCH] net: allow netdev_wait_allrefs() to run faster
Benjamin LaHaise <bcrl@...et.ca> writes:
> On Fri, Oct 30, 2009 at 04:25:52PM -0700, Eric W. Biederman wrote:
>> I realized after sending the message that s_mode in sysfs_dirent is a
>> real size offense. It is a 16bit field packed in between two longs.
>> So in practice it is possible to move the s_mode up next to s_flags
>> and add a s_nlink after it both unsigned short and get a cheap sysfs_nlink.
>
> That doesn't work -- the number of directory entries can easily exceed 65535.
> Current mid range hardware is good enough to terminate 100,000 network
> interfaces on a single host.
On overflow you nlink becomes zero and you leave it there. That is how
ondisk filesystems handle that case on directories, and find etc
knows how to deal.
>> Since I'm not quite ready to post my patches. I will briefly
>> mention what I have in my queue and hopefully get things posted.
>>
>> I have changes to make it so that sysfs never has to go from
>> the sysfs_dirent to the sysfs inode.
>
> Ah, interesting.
I have to cleanup sysfs before I merge changes for supporting
multiple network namespaces.
>> I have changes to sys_sysctl() so that it becomes a filesystem lookup
>> under /proc/sys. Which ultimately makes the code easier to maintain
>> and debug.
>
> That sounds like a much saner approach, but has the wrinkle that procfs can
> be configured out.
So I will add the dependency. There are very few serious users of sys_sysctl,
and all of them have been getting a deprecated interface warning every
time they use it for the last several years.
>> Now back to getting things forward ported and ready to post.
>
> I'm looking forward to those changes. I've been ignoring procfs for the
> time being by disabling the per-interface entries in the network stack,
> but there is some desire to be able to enable rp_filter on a per-interface
> radius config at runtime. rp_filter has to be disabled across the board
> on my access routers, as there are several places where assymetric routing
> is used for performance reasons.
Just out of curiosity does the loose rp_filter mode work for you?
Eric
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists