From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D56F9C33CA9 for ; Mon, 13 Jan 2020 17:39:40 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B05C9207FF for ; Mon, 13 Jan 2020 17:39:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728670AbgAMRjj (ORCPT ); Mon, 13 Jan 2020 12:39:39 -0500 Received: from eu-smtp-delivery-151.mimecast.com ([146.101.78.151]:50629 "EHLO eu-smtp-delivery-151.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726109AbgAMRjj (ORCPT ); Mon, 13 Jan 2020 12:39:39 -0500 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-87-OVcAHFbZNfGd3NpnjlTZng-1; Mon, 13 Jan 2020 17:39:36 +0000 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Mon, 13 Jan 2020 17:39:35 +0000 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Mon, 13 Jan 2020 17:39:35 +0000 From: David Laight To: David Laight , "'maarten.lankhorst@linux.intel.com'" , "'mripard@kernel.org'" , "'sean@poorly.run'" , "'airlied@linux.ie'" , "'daniel@ffwll.ch'" , "'dri-devel@lists.freedesktop.org'" , "'linux-kernel@vger.kernel.org'" Subject: RE: drm_cflush_sg() loops for over 3ms - scheduler not running tasks. Thread-Topic: drm_cflush_sg() loops for over 3ms - scheduler not running tasks. Thread-Index: AdXKOCs2ei3pAorRT3aL4kNbmbVxww== Date: Mon, 13 Jan 2020 17:39:35 +0000 Message-ID: <9451c48fd66b4df0a5ede5391c4e64ef@AcuMS.aculab.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-MC-Unique: OVcAHFbZNfGd3NpnjlTZng-1 X-Mimecast-Spam-Score: 0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org RnJvbTogRGF2aWQgTGFpZ2h0DQo+IFNlbnQ6IDEzIEphbnVhcnkgMjAyMCAxNDozNQ0KPiANCj4g SSd2ZSBiZWVuIGxvb2tpbmcgYXQgd2h5IHNvbWUgUlQgcHJvY2Vzc2VzIGRvbid0IGdldCBzY2hl ZHVsZWQgcHJvbXB0bHkuDQo+IEluIG15IHRlc3QgdGhlIFJUIHByb2Nlc3MncyBhZmZpbml0eSB0 aWVzIGl0IHRvIGEgc2luZ2xlIGNwdSAodGhpcyBtYXkgbm90IGJlIHN1Y2gNCj4gYSBnb29kIGlk ZWEgYXMgaXQgc2VlbXMpLg0KPiANCj4gV2hhdCBJJ3ZlIGZvdW5kIGlzIHRoYXQgdGhlIEludGVs IGk5MTUgZ3JhcGhpY3MgZHJpdmVyIHVzZXMgdGhlICdldmVudHNfdW5ib3VuZCcNCj4ga2VybmVs IHdvcmtlciB0aHJlYWQgdG8gcGVyaW9kaWNhbGx5IGV4ZWN1dGUgZHJtX2NmbHVzaF9zZygpLg0K PiAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90b3J2YWxkcy9saW51eC9ibG9iL21hc3Rlci9kcml2 ZXJzL2dwdS9kcm0vZHJtX2NhY2hlLmMpDQouLi4NCj4gVGhpcyBsb29wIHRha2VzIGFib3V0IDF1 cyBwZXIgaXRlcmF0aW9uIHNwbGl0IGZhaXJseSBldmVubHkgYmV0d2VlbiB3aGF0ZXZlciBpcyBp bg0KPiBmb3JfZWFjaF9zZ19wYWdlKCkgYW5kIGRybV9jZmx1c2hfcGFnZSgpLg0KPiBXaXRoIGEg MjU2MHgxNDQwIGRpc3BsYXkgdGhlIGxvb3AgY291bnQgaXMgMzYwMCAoNCBieXRlcy9waXhlbCkg YW5kIHRoZSB3aG9sZQ0KPiBmdW5jdGlvbiB0YWtlcyBhcm91bmQgMy4zbXMuDQoNCkFjdHVhbGx5 IG5vdCBzZXR0aW5nIHRoZSBjcHUgYWZmaW5pdHkgbWFrZXMgbm8gZGlmZmVyZW5jZS4NClRoZSBw cm9jZXNzIGlzIHdva2VuIHVwIG9uIHRoZSBjcHUgaXQgbGFzdCByYW4gb24gYW5kIHNpdHMgJ3dh aXRpbmcnIHVudGlsDQpkcm1fY2ZsdXNoX3NnKCkgZmluaXNoZXMgLSBldmVuIHRob3VnaCB0aGUg b3RoZXIgY3B1IGJlY29tZSBpZGxlLg0KTm8gc2lnbiBvZiBzY2hlZF9taWdyYXRlX3Rhc2sgZXZl bnQgJ3N0ZWFsaW5nJyB0aGUgcHJvY2Vzcy4NCg0KRXZlbiB3b3JzZSwgYmVjYXVzZSAndGlja2V0 IGxvY2tzJyBhcmUgdXNlZCBubyBvdGhlciB1c2VyIHByb2Nlc3NlcyBjYW4NCmFjcXVpcmUgdGhl IHNhbWUgKHVzZXIpIG11dGV4IG9yIGJlIHdva2VuIGZyb20gY3Zfd2FpdCgpIHVudGlsIHRoZQ0K cHJvY2VzcyBhY3R1YWxseSBydW5zLg0KDQpUaGlzIGlzIGEgNS40LjAtcmM3IGtlcm5lbC4NCkkg dGhpbmsgSSBzYXcgc29tZSByZWNlbnQgc2NoZWR1bGVyIHBhdGNoZXMsIEkgY2FuIHRyeSB0aGVt IHVudGlsIEkgY2FuJ3QgYnVpbGQNCndpdGggZ2NjIDQuNy4zIDotKQ0KDQoJRGF2aWQNCg0KLQ0K UmVnaXN0ZXJlZCBBZGRyZXNzIExha2VzaWRlLCBCcmFtbGV5IFJvYWQsIE1vdW50IEZhcm0sIE1p bHRvbiBLZXluZXMsIE1LMSAxUFQsIFVLDQpSZWdpc3RyYXRpb24gTm86IDEzOTczODYgKFdhbGVz KQ0K From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 919FCC33CB2 for ; Tue, 14 Jan 2020 08:19:51 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7215A2075B for ; Tue, 14 Jan 2020 08:19:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7215A2075B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ACULAB.COM Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 075FB6E303; Tue, 14 Jan 2020 08:19:28 +0000 (UTC) Received: from eu-smtp-delivery-151.mimecast.com (eu-smtp-delivery-151.mimecast.com [146.101.78.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6405E6E120 for ; Mon, 13 Jan 2020 17:39:40 +0000 (UTC) Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by relay.mimecast.com with ESMTP id uk-mta-87-OVcAHFbZNfGd3NpnjlTZng-1; Mon, 13 Jan 2020 17:39:36 +0000 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) by AcuMS.aculab.com (fd9f:af1c:a25b:0:43c:695e:880f:8750) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Mon, 13 Jan 2020 17:39:35 +0000 Received: from AcuMS.Aculab.com ([fe80::43c:695e:880f:8750]) by AcuMS.aculab.com ([fe80::43c:695e:880f:8750%12]) with mapi id 15.00.1347.000; Mon, 13 Jan 2020 17:39:35 +0000 From: David Laight To: David Laight , "'maarten.lankhorst@linux.intel.com'" , "'mripard@kernel.org'" , "'sean@poorly.run'" , "'airlied@linux.ie'" , "'daniel@ffwll.ch'" , "'dri-devel@lists.freedesktop.org'" , "'linux-kernel@vger.kernel.org'" Subject: RE: drm_cflush_sg() loops for over 3ms - scheduler not running tasks. Thread-Topic: drm_cflush_sg() loops for over 3ms - scheduler not running tasks. Thread-Index: AdXKOCs2ei3pAorRT3aL4kNbmbVxww== Date: Mon, 13 Jan 2020 17:39:35 +0000 Message-ID: <9451c48fd66b4df0a5ede5391c4e64ef@AcuMS.aculab.com> Accept-Language: en-GB, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.202.205.107] MIME-Version: 1.0 X-MC-Unique: OVcAHFbZNfGd3NpnjlTZng-1 X-Mimecast-Spam-Score: 0 X-Mailman-Approved-At: Tue, 14 Jan 2020 08:19:25 +0000 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: David Laight > Sent: 13 January 2020 14:35 > > I've been looking at why some RT processes don't get scheduled promptly. > In my test the RT process's affinity ties it to a single cpu (this may not be such > a good idea as it seems). > > What I've found is that the Intel i915 graphics driver uses the 'events_unbound' > kernel worker thread to periodically execute drm_cflush_sg(). > (see https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/drm_cache.c) ... > This loop takes about 1us per iteration split fairly evenly between whatever is in > for_each_sg_page() and drm_cflush_page(). > With a 2560x1440 display the loop count is 3600 (4 bytes/pixel) and the whole > function takes around 3.3ms. Actually not setting the cpu affinity makes no difference. The process is woken up on the cpu it last ran on and sits 'waiting' until drm_cflush_sg() finishes - even though the other cpu become idle. No sign of sched_migrate_task event 'stealing' the process. Even worse, because 'ticket locks' are used no other user processes can acquire the same (user) mutex or be woken from cv_wait() until the process actually runs. This is a 5.4.0-rc7 kernel. I think I saw some recent scheduler patches, I can try them until I can't build with gcc 4.7.3 :-) David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales) _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel