From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756179AbbIYMRu (ORCPT ); Fri, 25 Sep 2015 08:17:50 -0400 Received: from mail-wi0-f170.google.com ([209.85.212.170]:38647 "EHLO mail-wi0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756007AbbIYMRs (ORCPT ); Fri, 25 Sep 2015 08:17:48 -0400 Date: Fri, 25 Sep 2015 14:17:35 +0200 From: Thierry Reding To: Philipp Zabel Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 3/6] drm/imx: Build monolithic driver Message-ID: <20150925121735.GA30567@ulmo> References: <1443114161-7965-1-git-send-email-thierry.reding@gmail.com> <1443114161-7965-3-git-send-email-thierry.reding@gmail.com> <1443165366.4397.4.camel@pengutronix.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="tThc/1wpZn/ma/RB" Content-Disposition: inline In-Reply-To: <1443165366.4397.4.camel@pengutronix.de> User-Agent: Mutt/1.5.23+102 (2ca89bed6448) (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --tThc/1wpZn/ma/RB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Sep 25, 2015 at 09:16:06AM +0200, Philipp Zabel wrote: > Hi Thierry, >=20 > Am Donnerstag, den 24.09.2015, 19:02 +0200 schrieb Thierry Reding: > > From: Thierry Reding > >=20 > > There's no use building the individual drivers as separate modules > > because they are all only useful if combined into a single DRM/KMS > > device. >=20 > Why not? On an i.MX5 device with VGA(tve) output only, it is nice not to > have to load the i.MX6 HDMI driver. I think you gain much less by splitting up than you realize. Compare this from before the series: $ du -ch drivers/gpu/drm/imx/*.ko 8.0K drivers/gpu/drm/imx/dw_hdmi-imx.ko 16K drivers/gpu/drm/imx/imxdrm.ko 16K drivers/gpu/drm/imx/imx-ipuv3-crtc.ko 12K drivers/gpu/drm/imx/imx-ldb.ko 12K drivers/gpu/drm/imx/imx-tve.ko 8.0K drivers/gpu/drm/imx/parallel-display.ko 72K total $ du -ch drivers/gpu/drm/sti/*.ko 36K drivers/gpu/drm/sti/sticompositor.ko 12K drivers/gpu/drm/sti/sti_drv.ko 16K drivers/gpu/drm/sti/stidvo.ko 16K drivers/gpu/drm/sti/sti_hda.ko 24K drivers/gpu/drm/sti/stihdmi.ko 8.0K drivers/gpu/drm/sti/sti_hqvdp.ko 12K drivers/gpu/drm/sti/sti_tvout.ko 8.0K drivers/gpu/drm/sti/sti_vtac.ko 8.0K drivers/gpu/drm/sti/sti_vtg.ko 140K total with this after the series: $ du -ch drivers/gpu/drm/imx/*.ko 44K drivers/gpu/drm/imx/imx-drm.ko 44K total $ du -ch drivers/gpu/drm/sti/*.ko 92K drivers/gpu/drm/sti/sti-drm.ko 92K total There are other things to consider as well, such as the additional memory overhead caused by merely having multiple modules, or all of the exported functions that unnecessarily clutter up the symbol table, and which end up slowing down every symbol lookup. Thierry --tThc/1wpZn/ma/RB Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAABCAAGBQJWBTtdAAoJEN0jrNd/PrOhzgoQAJ0zlszzHe4TQNNEBba0i2Ho r4OCxeGwDUJPnOr2SfVcTOJp5ITQMK3kZq9J24WLICUwphBh8n/4SC3limZlbzk+ 0ZVSU5zppGvmANoJsKdP8W3akOoplC70uoULNiJ6hnzMLrrw2laqwssO+TRYetcj 6N2fxhO7aENvS1gD8F7iQbVA3v4eKt8VkgIC1dduJJlXDo+hl3IfWieAEEIxp8Y1 PoWF/c54gPogN4gGWp9oJFMTL6hgvj+O0jvaQsugoCvkA9k5ooSsOr7f3F6Q6wSS e+zKobVLJgSdqZU2WQkvU9k8lFa/ak/s0SfgNkvvUCmLXSFE0kCykrDvMfyvVJXS vj10SEV0JtWM3F1vLBdro1IOokCk2yADjD061zwOVBsYkeQ2NH/PU3WGtW/bAMu7 5zFylBNu+Vnu32onfAvjhSoJ9IFfdrMdWx/jJcRjemgzlYWoIgJ4I1GnzY4uoUC1 1L40muZcwCo59jeKkRf+xjtLY148mR4m4QsIS4uC2RXWMYSlUZ4xrOA3TKHl700d 8q2271IFgSovc7tUtrpTUB5uICxeQcoDEYok16EYWUeqKTw+5NewE8+8gLH5aImE j+Zij7h5SQZOtZSj2BL4odIuJzLiy/RdpL9o8o2pcibRW/gokIEqqdEw8xyfh2EH uAHMC21SDxedbQHPSsvD =OXnS -----END PGP SIGNATURE----- --tThc/1wpZn/ma/RB--