Re: Backport of commit a75bb4eb9e565b9f5115e2e8c07377ce32cbe69a

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 23, 2019 at 03:35:12PM -0400, Sasha Levin wrote:
> On Tue, Apr 23, 2019 at 12:04:21PM -0700, Nathan Chancellor wrote:
> > Hi Greg and Sasha,
> > 
> > Please apply this commit to 4.4 through 5.0 (patches are threaded in
> > reply to this one), which will prevent Clang from emitting references
> > to compiler runtime functions and doing some performance-killing
> > optimization when using CONFIG_CC_OPTIMIZE_FOR_SIZE.
> > 
> > Please let me know if I did something wrong or if there are any
> > objections.
> 
> This looks like a fix for a performance regression, which don't usually
> end up in stable unless they are severe enough.
> 

Yes and no. The original reason for the revert was because of the
compiler runtime functions:

https://lore.kernel.org/lkml/CAG5bF+S6OvBnsaR6UpMCqjDR9_hMo6qRMHGiW+iCaRYQW4C3YA@xxxxxxxxxxxxxx/

The Chromium guys hit this [1] and have applied the patch for their
kernels, I think it should be applied for everyone.

> This patch looks simple enough, and seeing peterz on it suggests to me
> that this was significant enough for someone to notice. Is this really
> the case, or is this just one of those %0.01 performance regression
> things?
> 

I don't know of anyone else who has hit this but Qualcomm enabled
CONFIG_CC_OPTIMIZE_FOR_SIZE in their 4.9 kernels with clang [2] so it
would be nice to have this to avoid any further issues down the road.

[1]: https://chromium.googlesource.com/chromiumos/third_party/kernel/+/8bb957d781e2350515c7cffd7e7dc0dfc1777f3b
[2]: https://source.codeaurora.org/quic/la/kernel/msm-4.9/commit/?id=e828e50380a34533c37eff98345847fd74667ddd

Thanks for the quick reply!
Nathan

> --
> Thanks,
> Sasha



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux