From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jens Axboe Subject: Re: __i915_spin_request() sucks Date: Thu, 12 Nov 2015 13:40:33 -0700 Message-ID: <5644F941.9090505@kernel.dk> References: <5644F850.2060803@kernel.dk> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <5644F850.2060803@kernel.dk> Sender: linux-kernel-owner@vger.kernel.org To: Daniel Vetter , chris@chris-wilson.co.uk Cc: DRI Development , LKML List-Id: dri-devel@lists.freedesktop.org On 11/12/2015 01:36 PM, Jens Axboe wrote: > Hi, > > So a few months ago I got an XPS13 laptop, the one with the high res > screen. GUI performance was never really that great, I attributed it to > coming from a more powerful laptop, and the i915 driving a lot of > pixels. But yesterday I browsed from my wife's macbook, and was blown > away. Wow, scrolling in chrome SUCKS on the xps13. Not just scrolling, > basically anything in chrome. Molasses. So I got sick of it, fired up a > quick perf record, did a bunch of stuff in chrome. No super smoking > guns, but one thing did stick out - the path leading to > __i915_spin_request(). > > So today, I figured I'd try just killing that spin. If it fails, we'll > punt to normal completions, so easy change. And wow, MASSIVE difference. > I can now scroll in chrome and not rage! It's like the laptop is 10x > faster now. > > Ran git blame, and found: > > commit 2def4ad99befa25775dd2f714fdd4d92faec6e34 > Author: Chris Wilson > Date: Tue Apr 7 16:20:41 2015 +0100 > > drm/i915: Optimistically spin for the request completion > > and read the commit message. Doesn't sound that impressive. Especially > not for something that screws up interactive performance by a LOT. > > What's the deal? Revert? BTW, this: "Limit the spinning to a single jiffie (~1us) at most" is totally wrong. I have HZ=100 on my laptop. That's 10ms. 10ms! Even if I had HZ=1000, that'd still be 1ms of spinning. That's seriously screwed up, guys. -- Jens Axboe