[PATCH] drm: Reduce object size of DRM_ERROR and DRM_DEBUG uses

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Mar 15 15:37:34 UTC 2018


On Thu, Mar 15, 2018 at 08:17:53AM -0700, Joe Perches wrote:
> On Thu, 2018-03-15 at 17:05 +0200, Ville Syrjälä wrote:
> > On Thu, Mar 15, 2018 at 03:04:52PM +0100, Maarten Lankhorst wrote:
> > > Op 15-03-18 om 14:30 schreef Ville Syrjälä:
> > > > On Tue, Mar 13, 2018 at 03:02:15PM -0700, Joe Perches wrote:
> > > > > drm_printk is used for both DRM_ERROR and DRM_DEBUG with unnecessary
> > > > > arguments that can be removed by creating separate functins.
> > > > > 
> > > > > Create specific functions for these calls to reduce x86/64 defconfig
> > > > > size by ~20k.
> > > > > 
> > > > > Modify the existing macros to use the specific calls.
> > > > > 
> > > > > new:
> > > > > $ size -t drivers/gpu/drm/built-in.a | tail -1
> > > > > 1876562	  44542	    995	1922099	 1d5433	(TOTALS)
> > > > > 
> > > > > old:
> > > > > $ size -t drivers/gpu/drm/built-in.a | tail -1
> > > > > 1897565	  44542	    995	1943102	 1da63e	(TOTALS)
> > > > > 
> > > > > Miscellanea:
> > > > > 
> > > > > o intel_display requires a change to use the specific calls.
> > > > 
> > > > How much would we lose if we move the (drm_debug&FOO) outside the
> > > > functions again?
> 
> again?

We used to do that. Someone changed it a while back, unintentially
I believe.

> 
> > > >  I'm somewhat concerned about all the function call
> > > > overhead when debugs aren't even enabled.
> 
> Perhaps better to have compilation elimination
> of the entire debug output instead.

That would require every bug reporter to recompile the kernel first.
So this is not a solution we would ever seriously consider.

Not sure if it would be possible to use the alternatives thing to
eliminate the function calls unless the user boots wih drm.debug!=0?

> 
> I think you are discussing a different issue and
> this discussion should not block this patch as
> this patch has no impact other than code size
> reduction.

But what is the goal of the code size reduction? I assume the main
goal is to make better use of the instruction cache to make the
code faster. If there's a tradeoff between smaller and slightly
faster vs. larger and a singificantly faster I tend to think we
should go for the latter option.

-- 
Ville Syrjälä
Intel OTC


More information about the dri-devel mailing list