From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933591AbcBQApF (ORCPT ); Tue, 16 Feb 2016 19:45:05 -0500 Received: from mail-io0-f182.google.com ([209.85.223.182]:34433 "EHLO mail-io0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933505AbcBQApC (ORCPT ); Tue, 16 Feb 2016 19:45:02 -0500 Subject: Re: Idea for reducing sysfs memory usage To: Edward Cree , Greg Kroah-Hartman References: <56C3B4E9.7030207@cantab.net> <20160216235502.GA14565@kroah.com> <56C3C0D2.9090407@cantab.net> Cc: linux-kernel@vger.kernel.org From: David Ahern Message-ID: <56C3C286.9070307@cumulusnetworks.com> Date: Tue, 16 Feb 2016 17:44:54 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 MIME-Version: 1.0 In-Reply-To: <56C3C0D2.9090407@cantab.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2/16/16 5:37 PM, Edward Cree wrote: > On 16/02/16 23:55, Greg Kroah-Hartman wrote: >> On Tue, Feb 16, 2016 at 11:46:49PM +0000, Edward Cree wrote: >>> Sorry if this has been suggested before, but if so I couldn't find it. >>> Short version: could a sysfs dir reference a list of default attributes >>> rather than having to instantiate them all? >> Shorter version, why do you think it is? :) >> >> Have you done some testing of the amount of memory that sysfs entries >> consume and found any problems with it? > Two reasons: > a) in his netdev1.1 talk "Scaling the Number of Network Interfaces on > Linux", > David Ahern claimed a memory overhead of (iirc) about 45kB per > netdevice, > of which he attributed (again, iirc) about 20kB to sysfs entries. He > also > indicated that this was a problem for his use case. (My apologies to > David if I've misrepresented him. CCed him so he can correct me.) Close enough. :-) I analyzed memory allocations for the creation of a dummy netdevice. All total 36,450 bytes were requested resulting in 43,944 bytes allocated. Of that kobject and sysfs is 14,568. So kobject and sysfs is roughly 1/3 the memory overhead of a netdevice and is also a significant overhead in the time to create the netdevice. David