Received: by 2002:ac0:a5a7:0:0:0:0:0 with SMTP id m36-v6csp4799788imm; Tue, 7 Aug 2018 07:33:25 -0700 (PDT) X-Google-Smtp-Source: AAOMgpc0SihBIRRSfTfV7oT00eP6bJbtAySdgD1CKzcs76sgZPYrWkKCV0UjBnknezeUkSbY5p+m X-Received: by 2002:a62:21cc:: with SMTP id o73-v6mr22150551pfj.21.1533652405148; Tue, 07 Aug 2018 07:33:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1533652405; cv=none; d=google.com; s=arc-20160816; b=aE7L95ZWJhyoDnetRjAWOz/fm1ZNoo0k5U9HDE2c9ckgSc3gIxsPDBf5NQqqd09tAm Ueiwm7WAq3+nJrgdu8oI2VaHdJvMRonBCCe1teen/JcksyuTStU5x0MfnAMY9MciKfaT k5hH57fjSkoWMAKF9qdOC+G+Tll6L9bvo+Ay5Wn4aa5d0AxmJwGPb48L9wYsHfh5I5oG pE7epHpKFbhxBHCNh0sr67U6fZzvggGXe0EkfrPHaFNyGRj1vZ/1V4vQjBe+4DjpQ/yS 8SP2esnrftnw0ylC0iIWYr83kMe0DNh23xdFl/aTyHzqWizk07wjjsnbzAKNIuse4Dej nQMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :content-language:accept-language:in-reply-to:references:message-id :date:thread-index:thread-topic:subject:cc:to:from :arc-authentication-results; bh=oXi/MXUnj5Xb5SGhn+lYkXwohX/Y7TIpe0mW7XU1/n8=; b=ojUt8mCu8LRDx1YAGQFLL1yPfB2eq1/h9uygIsEa8gVD3HaoscKlcVwyA2gN01Ax2b iskpZxdsC0wafRPzlAkutaThMkMt6FyOK9OlBJcnzSQsYNZ8FJt05eJD4mi4cqQj1cpM 0VwpcCscDgIUAEo8FZTFrHrrVRne7l9q/oJdU0FgrQR+1hYXzl43vcA5msuICBfBBtcX jehiush16MkVJSPPtrTGZxNO+VFrZsjsO2Q5j+2P8DOTGLXFJKyLwmN7Js8fIDvZf8up oVy6GkPCnz35NXfRQDM3IBlwYCkzs2KjSpz1ZpGyEJJduUJpux1Gt0/mPqw4iR0TibAP Bo4A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g65-v6si1538241pfc.36.2018.08.07.07.33.09; Tue, 07 Aug 2018 07:33:25 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2389450AbeHGQq5 convert rfc822-to-8bit (ORCPT + 99 others); Tue, 7 Aug 2018 12:46:57 -0400 Received: from eu-smtp-delivery-211.mimecast.com ([207.82.80.211]:52846 "EHLO eu-smtp-delivery-211.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2388135AbeHGQq5 (ORCPT ); Tue, 7 Aug 2018 12:46:57 -0400 Received: from AcuMS.aculab.com (156.67.243.126 [156.67.243.126]) (Using TLS) by eu-smtp-1.mimecast.com with ESMTP id uk-mta-2-4PAP4CJSMfqkTcK2s-crIw-1; Tue, 07 Aug 2018 15:32:19 +0100 Received: from AcuMS.Aculab.com (fd9f:af1c:a25b::d117) by AcuMS.aculab.com (fd9f:af1c:a25b::d117) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 7 Aug 2018 15:33:58 +0100 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; Tue, 7 Aug 2018 15:33:58 +0100 From: David Laight To: 'Mikulas Patocka' CC: 'Ard Biesheuvel' , Ramana Radhakrishnan , Florian Weimer , "Thomas Petazzoni" , GNU C Library , Andrew Pinski , "Catalin Marinas" , Will Deacon , Russell King , LKML , linux-arm-kernel Subject: RE: framebuffer corruption due to overlapping stp instructions on arm64 Thread-Topic: framebuffer corruption due to overlapping stp instructions on arm64 Thread-Index: AQHUKwzKyzS7gP0u+Em6lFS72D3AkaSt4YCg///76QCAACCeQIADLl6AgAFULpCAAciCAIAAEszQ Date: Tue, 7 Aug 2018 14:33:58 +0000 Message-ID: <5f5ab5ba0bc84b31be52bd7708c6a356@AcuMS.aculab.com> References: <9acdacdb-3bd5-b71a-3003-e48132ee1371@redhat.com> <51a6c4e102ad4193b3f42498f0ff11a4@AcuMS.aculab.com> In-Reply-To: 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.33] MIME-Version: 1.0 X-MC-Unique: 4PAP4CJSMfqkTcK2s-crIw-1 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Mikulas Patocka > Sent: 07 August 2018 15:07 ... > Unaccelerated scrolling is still painfully slow > even on modern computers because of slow framebuffer read. I solved that many years ago on a strongarm system by mapping the screen memory at two separate virtual addresses. One uncached used for writes, the second cached using the 'minicache' for reads. (and immediately fell foul of a memcpy() function that compared the two virtual addresses and decided to copy backwards) I suspect some modern cpus don't like you doing that and the graphics 'drivers' won't use different mappings. Even in glibc you want a more general copy_to/from_io_memory() rather than just 'copy_from_framebuffer()'. Best to define both - even if they end up identical. Other drivers allow PCIe space be mmap()ed into user space. While your tests show vmovntdqa being slightly slower than an avx read for uncached mappings it is still much better than all the other options. David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)