From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752964AbdJFXYq (ORCPT ); Fri, 6 Oct 2017 19:24:46 -0400 Received: from mail-qk0-f169.google.com ([209.85.220.169]:44574 "EHLO mail-qk0-f169.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751917AbdJFXYo (ORCPT ); Fri, 6 Oct 2017 19:24:44 -0400 X-Google-Smtp-Source: AOwi7QDWJNr1iXed74YMy0lTlk1hDD2MN5jBIspCxshFv6qcGx4eBjmKJz74GGWSk8boFNowTs/6Iw== Date: Fri, 6 Oct 2017 19:24:42 -0400 (EDT) From: Nicolas Pitre To: Rob Herring cc: "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , Frank Rowand , Grant Likely Subject: Re: [PATCH 0/6] Shrinking DT memory usage In-Reply-To: Message-ID: References: <20171005194422.26224-1-robh@kernel.org> User-Agent: Alpine 2.21 (LFD 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 6 Oct 2017, Rob Herring wrote: > On Fri, Oct 6, 2017 at 4:30 PM, Nicolas Pitre wrote: > > On Thu, 5 Oct 2017, Rob Herring wrote: > > > >> On kernels with a minimal config and a RAM target in the 100s of KB, DT > >> is quite a hog of runtime memory usage. How much is dependent on how many > >> nodes and properties in the DT which have a corresponding struct device_node > >> and struct property in the kernel. Just skipping disabled nodes saves a > >> lot by not creating the device_nodes in the first place[1], but there's > >> more low hanging fruit by making some of the fields in struct property and > >> struct device_node optional. With the changes here, the memory usage goes > >> from 17KB to under 8KB on QEMU's ARM virt machine which is a relatively > >> small DT. > > > > My test case went from 118072 bytes ddown to 21548 bytes with this > > series. > > Did that include the changes for FDT skipping status=disabled and to > stop storing the full path of every node? With those 2 alone you said > it dropped to 25K. No -- that's with those 6 patches only. Adding the other 2 patches on top and it is down to 11732 bytes. Nicolas From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicolas Pitre Subject: Re: [PATCH 0/6] Shrinking DT memory usage Date: Fri, 6 Oct 2017 19:24:42 -0400 (EDT) Message-ID: References: <20171005194422.26224-1-robh@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Return-path: In-Reply-To: Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Rob Herring Cc: "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , Frank Rowand , Grant Likely List-Id: devicetree@vger.kernel.org On Fri, 6 Oct 2017, Rob Herring wrote: > On Fri, Oct 6, 2017 at 4:30 PM, Nicolas Pitre wrote: > > On Thu, 5 Oct 2017, Rob Herring wrote: > > > >> On kernels with a minimal config and a RAM target in the 100s of KB, DT > >> is quite a hog of runtime memory usage. How much is dependent on how many > >> nodes and properties in the DT which have a corresponding struct device_node > >> and struct property in the kernel. Just skipping disabled nodes saves a > >> lot by not creating the device_nodes in the first place[1], but there's > >> more low hanging fruit by making some of the fields in struct property and > >> struct device_node optional. With the changes here, the memory usage goes > >> from 17KB to under 8KB on QEMU's ARM virt machine which is a relatively > >> small DT. > > > > My test case went from 118072 bytes ddown to 21548 bytes with this > > series. > > Did that include the changes for FDT skipping status=disabled and to > stop storing the full path of every node? With those 2 alone you said > it dropped to 25K. No -- that's with those 6 patches only. Adding the other 2 patches on top and it is down to 11732 bytes. Nicolas -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html