Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755464AbbLGDOT (ORCPT ); Sun, 6 Dec 2015 22:14:19 -0500 Received: from mga11.intel.com ([192.55.52.93]:9753 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755153AbbLGDOR (ORCPT ); Sun, 6 Dec 2015 22:14:17 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,392,1444719600"; d="scan'208";a="8623355" Subject: Re: [RFC 0/3] reduce latency of direct async compaction To: Vlastimil Babka References: <1449130247-8040-1-git-send-email-vbabka@suse.cz> <20151204062552.GA2243@aaronlu.sh.intel.com> <56618949.10208@suse.cz> From: Aaron Lu Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org, Joonsoo Kim , Rik van Riel , David Rientjes , Mel Gorman , Minchan Kim Message-ID: <5664F983.6040306@intel.com> Date: Mon, 7 Dec 2015 11:14:11 +0800 MIME-Version: 1.0 In-Reply-To: <56618949.10208@suse.cz> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5938 Lines: 139 On 12/04/2015 08:38 PM, Vlastimil Babka wrote: > On 12/04/2015 07:25 AM, Aaron Lu wrote: >> On Thu, Dec 03, 2015 at 09:10:44AM +0100, Vlastimil Babka wrote: >>> Aaron, could you try this on your testcase? >> >> One time result isn't stable enough, so I did 9 runs for each commit, >> here is the result: >> >> base: 25364a9e54fb8296837061bf684b76d20eec01fb >> head: 7433b1009ff5a02e1e9f3444802daba2cf385d27 >> (head = base + this_patch_serie) >> >> The always-always case(transparent_hugepage set to always and defrag set >> to always): >> >> Result for base: >> $ cat {0..8}/swap >> cmdline: /lkp/aaron/src/bin/usemem 100000622592 >> 100000622592 transferred in 103 seconds, throughput: 925 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99999559680 >> 99999559680 transferred in 92 seconds, throughput: 1036 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99996171264 >> 99996171264 transferred in 92 seconds, throughput: 1036 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100005663744 >> 100005663744 transferred in 150 seconds, throughput: 635 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100002966528 >> 100002966528 transferred in 87 seconds, throughput: 1096 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99995784192 >> 99995784192 transferred in 131 seconds, throughput: 727 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100003731456 >> 100003731456 transferred in 97 seconds, throughput: 983 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100006440960 >> 100006440960 transferred in 109 seconds, throughput: 874 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99998813184 >> 99998813184 transferred in 122 seconds, throughput: 781 MB/s >> Max: 1096 MB/s >> Min: 635 MB/s >> Avg: 899 MB/s >> >> Result for head: >> $ cat {0..8}/swap >> cmdline: /lkp/aaron/src/bin/usemem 100003163136 >> 100003163136 transferred in 105 seconds, throughput: 908 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99998524416 >> 99998524416 transferred in 78 seconds, throughput: 1222 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99993646080 >> 99993646080 transferred in 108 seconds, throughput: 882 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99998936064 >> 99998936064 transferred in 114 seconds, throughput: 836 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100002204672 >> 100002204672 transferred in 73 seconds, throughput: 1306 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99998140416 >> 99998140416 transferred in 146 seconds, throughput: 653 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100002941952 >> 100002941952 transferred in 78 seconds, throughput: 1222 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99996917760 >> 99996917760 transferred in 109 seconds, throughput: 874 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100001405952 >> 100001405952 transferred in 96 seconds, throughput: 993 MB/s >> Max: 1306 MB/s >> Min: 653 MB/s >> Avg: 988 MB/s > > Ok that looks better than the first results :) The series either helped, > or it's just noise. But hopefully not worse. Well, it looks to be the case :-) > >> Result for v4.3 as a reference: >> $ cat {0..8}/swap >> cmdline: /lkp/aaron/src/bin/usemem 100002459648 >> 100002459648 transferred in 96 seconds, throughput: 993 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99997375488 >> 99997375488 transferred in 96 seconds, throughput: 993 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99999028224 >> 99999028224 transferred in 107 seconds, throughput: 891 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100000137216 >> 100000137216 transferred in 91 seconds, throughput: 1047 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100003835904 >> 100003835904 transferred in 80 seconds, throughput: 1192 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100000143360 >> 100000143360 transferred in 96 seconds, throughput: 993 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100020593664 >> 100020593664 transferred in 101 seconds, throughput: 944 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100005805056 >> 100005805056 transferred in 87 seconds, throughput: 1096 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100008360960 >> 100008360960 transferred in 74 seconds, throughput: 1288 MB/s >> Max: 1288 MB/s >> Min: 891 MB/s >> Avg: 1048 MB/s > > Hard to say if there's actual regression from 4.3 to 4.4, it's too > noisy. More iterations could help, but then the eventual bisection would > need them too. One thing puzzles me most is that once compaction is involved, the results will become undetermined, i.e. the result could be as high as 1xxx MB/s or as low as 6xx MB/s. The always-never's case is much better in this regard. Thanks, Aaron > >> The always-never case: >> >> Result for head: >> $ cat {0..8}/swap >> cmdline: /lkp/aaron/src/bin/usemem 100003940352 >> 100003940352 transferred in 71 seconds, throughput: 1343 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100007411712 >> 100007411712 transferred in 62 seconds, throughput: 1538 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100001875968 >> 100001875968 transferred in 64 seconds, throughput: 1490 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100003912704 >> 100003912704 transferred in 62 seconds, throughput: 1538 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100002238464 >> 100002238464 transferred in 66 seconds, throughput: 1444 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100003670016 >> 100003670016 transferred in 65 seconds, throughput: 1467 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 99998364672 >> 99998364672 transferred in 68 seconds, throughput: 1402 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100005417984 >> 100005417984 transferred in 70 seconds, throughput: 1362 MB/s >> cmdline: /lkp/aaron/src/bin/usemem 100005304320 >> 100005304320 transferred in 64 seconds, throughput: 1490 MB/s >> Max: 1538 MB/s >> Min: 1343 MB/s >> Avg: 1452 MB/s >> > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/