On Tue, Apr 23, 2019 at 12:45:12PM -0700, Nathan Chancellor wrote: > 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. We picked it into our kernels because we needed a fix *now* to unbreak our builds, but I agree it should be fixed at least in relevant LTS versions. > > 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 I suspect the Qualcomm tree would hit the VDSO issue if they use a sufficiently recent version of clang. Thanks Nathan for posting this to -stable, I should have cc-ed them in the first place.