Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp3464508yba; Sat, 11 May 2019 11:14:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqxwTx4pkKtzSzneuy6dMZv82wht9AXj9dNmvA1+LhTk3u+DXPnU4PQoNb29p5OfVth2ivAQ X-Received: by 2002:a17:902:2a28:: with SMTP id i37mr20575362plb.47.1557598457043; Sat, 11 May 2019 11:14:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1557598457; cv=none; d=google.com; s=arc-20160816; b=EpOxmIMvMJ7RKUPtSJ5YPZCZ0IwG2WfeJJnjdw4rRiKh+lVuQlxKy0DWdZFpcNLDmP G9TLSkM+yNfzG/cXiycDE+sPWeabE9KOJGeizRz4ZPTZVVEycS4m7xfZwzvldoeu2p/K QEj2afdX4GyS+6cyQXEoCIObl/Vr1AdgKkeAPQz/K7Yaj/v/yBQocllJ5YEp78tAa9T/ bCMf4Dv8NDD4rSGr9jMWLzLsFMHZ2Z1m1Gv3lIfMjJorONsXacCH32+EV+H2LdM7yPg9 q225xy6AqPx5DTlsg3cS9aRAalSRsuL4mOgQ9o7j86+QerBspLvxBIEfRLd6ipG3omOv UFNw== 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:in-reply-to :mime-version:user-agent:date:message-id:organization:from :references:cc:to:subject; bh=rMKF1+CY7W42DYUTsUxOfZX/ihyGlcmQcKN1ucFocqI=; b=saFXU1ZOqLPs0VOJhwYYpmCRzmVgdKXFUb8/6elNv4WH3a0Ho9+KwnLgWbK8ZQ9C1g Sfs9vrHkJ7YjfYXE8TusrM0TsYgxMXl+EWI3fl4s41EQ+m8VjGB/RHjHy+w6VjZJj3nv A6QZsT6X9vweapgSWnFajve6TjAknJBw0rG3h3vdpAtyw9xasoLXCGnR0+HeHTJgPsp2 xLmnpS8PyNm5uxPiWdbxaHstYVuTd6/Dtkc9RY8OgjtkE2xSohq3QcYYnWy6lvmkdG+E /fnGPjPX0RoMA/xjwqP5TYab7BkHKz7f4oESm5GM3QcVMoj1+30zKlEaf03C68NbbPOv qi8g== 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 o6si12917816pgh.163.2019.05.11.11.13.46; Sat, 11 May 2019 11:14:17 -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 S1726121AbfEKSMM (ORCPT + 99 others); Sat, 11 May 2019 14:12:12 -0400 Received: from mutluit.com ([82.211.8.197]:52858 "EHLO mutluit.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725939AbfEKSML (ORCPT ); Sat, 11 May 2019 14:12:11 -0400 Received: from [127.0.0.1] (s2.mutluit.com [82.211.8.197]:40136) by mutluit.com (s2.mutluit.com [82.211.8.197]:50025) with ESMTP ([XMail 1.27 ESMTP Server]) id for from ; Sat, 11 May 2019 14:12:07 -0400 Subject: Re: [RFC PATCH] drivers: ata: ahci_sunxi: Increased SATA/AHCI DMA TX/RX FIFOs To: Stefan Monnier , linux-ide@vger.kernel.org Cc: linux-sunxi@googlegroups.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, u-boot@lists.denx.de References: <20190510192550.17458-1-um@mutluit.com> From: "U.Mutlu" Organization: mutluit.com Message-ID: <5CD71077.1020100@mutluit.com> Date: Sat, 11 May 2019 20:12:07 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0 SeaMonkey/2.37a1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Stefan Monnier wrote on 05/11/2019 03:37 PM: >> Increasing the SATA/AHCI DMA TX/RX FIFOs (P0DMACR.TXTS and .RXTS) from >> default 0x0 each to 0x3 each gives a write performance boost of 120MB/s >> from lame 36MB/s to 45MB/s previously. Read performance is about 200MB/s >> [tested on SSD using dd bs=4K count=512K]. > > Such a simple patch to fix such a long-standing performance problem that > everyone [ well, apparently not quite everyone ] assumed was a hardware > limitation... > > And yet, April 1st is long gone. > > Is it really for real? Yes, it's indeed real, Stefan; really no April 1st joke. :-) As you indicated, this problem of slow SATA write-speed with these small devices lasts now for more than 5 years. This patch finally solves the problem. On my test device (BPI-R1) the optimum blocksize seems to be 12K as it then gives even 129 MB/s write speed. Here are some test results with different blocksizes, all giving a write speed of 125 to 129 MB/s: time sh -c "dd if=/dev/zero of=test.tmp bs=$bs count=$count conv=fdatasync" ------------ bs=8K / count=256K / 1 ------------------ 262144+0 records in 262144+0 records out 2147483648 bytes (2.1 GB) copied, 16.9237 s, 127 MB/s real 0m16.935s user 0m0.388s sys 0m15.777s ------------ bs=8K / count=256K / 2 ------------------ 262144+0 records in 262144+0 records out 2147483648 bytes (2.1 GB) copied, 16.9916 s, 126 MB/s real 0m17.973s user 0m0.326s sys 0m16.806s ------------ bs=8K / count=256K / 3 ------------------ 262144+0 records in 262144+0 records out 2147483648 bytes (2.1 GB) copied, 17.0085 s, 126 MB/s real 0m17.993s user 0m0.442s sys 0m16.588s ------------ bs=12K / count=171K / 1 ------------------ 175104+0 records in 175104+0 records out 2151677952 bytes (2.2 GB) copied, 16.8474 s, 128 MB/s real 0m16.860s user 0m0.205s sys 0m15.705s ------------ bs=12K / count=171K / 2 ------------------ 175104+0 records in 175104+0 records out 2151677952 bytes (2.2 GB) copied, 16.6934 s, 129 MB/s real 0m17.669s user 0m0.227s sys 0m16.355s ------------ bs=12K / count=171K / 3 ------------------ 175104+0 records in 175104+0 records out 2151677952 bytes (2.2 GB) copied, 16.6684 s, 129 MB/s real 0m17.654s user 0m0.388s sys 0m16.118s ------------ bs=16K / count=128K / 1 ------------------ 131072+0 records in 131072+0 records out 2147483648 bytes (2.1 GB) copied, 17.1845 s, 125 MB/s real 0m17.200s user 0m0.251s sys 0m16.060s ------------ bs=16K / count=128K / 2 ------------------ 131072+0 records in 131072+0 records out 2147483648 bytes (2.1 GB) copied, 16.9221 s, 127 MB/s real 0m17.902s user 0m0.170s sys 0m16.763s ------------ bs=16K / count=128K / 3 ------------------ 131072+0 records in 131072+0 records out 2147483648 bytes (2.1 GB) copied, 16.8845 s, 127 MB/s real 0m17.868s user 0m0.167s sys 0m16.736s