From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Elliott, Robert (Server Storage)" Subject: RE: [PATCH 0/13] Parallel struct page initialisation v4 Date: Sat, 2 May 2015 11:52:18 +0000 Message-ID: <94D0CD8314A33A4D9D801C0FE68B40295A8CE70F@G9W0745.americas.hpqcorp.net> References: <553FD39C.2070503@sgi.com> <1430410227.8193.0@cpanel21.proisp.no> In-Reply-To: <1430410227.8193.0@cpanel21.proisp.no> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: owner-linux-mm@kvack.org To: Daniel J Blueman , nzimmer , Mel Cc: Pekka Enberg , Andrew Morton , Dave Hansen , Long, Wai, "Scott J , Linux-MM" , LKML , 'Steffen Persvold' , "Boaz Harrosh (boaz@plexistor.com)" , "dan.j.williams@intel.com" , "linux-nvdimm@lists.01.org" List-ID: DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGxpbnV4LWtlcm5lbC1vd25l ckB2Z2VyLmtlcm5lbC5vcmcgW21haWx0bzpsaW51eC1rZXJuZWwtDQo+IG93bmVyQHZnZXIua2Vy bmVsLm9yZ10gT24gQmVoYWxmIE9mIERhbmllbCBKIEJsdWVtYW4NCj4gU2VudDogVGh1cnNkYXks IEFwcmlsIDMwLCAyMDE1IDExOjEwIEFNDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMC8xM10gUGFy YWxsZWwgc3RydWN0IHBhZ2UgaW5pdGlhbGlzYXRpb24gdjQNCi4uLg0KPiBPbiBhIDdUQiwgMTcy OC1jb3JlIE51bWFDb25uZWN0IHN5c3RlbSB3aXRoIDEwOCBOVU1BIG5vZGVzLCB3ZSdyZQ0KPiBz ZWVpbmcgc3RvY2sgNC4wIGJvb3QgaW4gNzEzNnMuIFRoaXMgZHJvcHMgdG8gMjE1OXMsIG9yIGEg NzAlIHJlZHVjdGlvbg0KPiB3aXRoIHRoaXMgcGF0Y2hzZXQuIE5vbi10ZW1wb3JhbCBQTUQgaW5p dCBbMV0gZHJvcHMgdGhpcyB0byAxMDQ1cy4NCj4gDQo+IE5hdGhhbiwgd2hhdCBkbyB5b3UgZ3V5 cyBzZWUgd2l0aCB0aGUgbm9uLXRlbXBvcmFsIFBNRCBwYXRjaCBbMV0/IERvDQo+IGFkZCBhIHNm ZW5jZSBhdCB0aGUgZW5kZSBsYWJlbCBpZiB5b3UgbWFudWFsbHkgcGF0Y2guDQo+IA0KLi4uDQo+ IFsxXSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxNS80LzIzLzM1MA0KDQpGcm9tIHRoYXQgcG9z dDoNCj4gK2xvb3BfNjQ6DQo+ICsJZGVjcSAgJXJjeA0KPiArCW1vdm50aQklcmF4LCglcmRpKQ0K PiArCW1vdm50aQklcmF4LDgoJXJkaSkNCj4gKwltb3ZudGkJJXJheCwxNiglcmRpKQ0KPiArCW1v dm50aQklcmF4LDI0KCVyZGkpDQo+ICsJbW92bnRpCSVyYXgsMzIoJXJkaSkNCj4gKwltb3ZudGkJ JXJheCw0MCglcmRpKQ0KPiArCW1vdm50aQklcmF4LDQ4KCVyZGkpDQo+ICsJbW92bnRpCSVyYXgs NTYoJXJkaSkNCj4gKwlsZWFxICA2NCglcmRpKSwlcmRpDQo+ICsJam56ICAgIGxvb3BfNjQNCg0K VGhlcmUgYXJlIHNvbWUgZXZlbiBtb3JlIGVmZmljaWVudCBpbnN0cnVjdGlvbnMgYXZhaWxhYmxl IGluIHg4NiwNCmRlcGVuZGluZyBvbiB0aGUgQ1BVIGZlYXR1cmVzOg0KKiBtb3ZudGkJCTggYnl0 ZQ0KKiBtb3ZudGRxICV4bW0JCTE2IGJ5dGUsIFNTRQ0KKiB2bW92bnRkcSAleW1tCTMyIGJ5dGUs IEFWWA0KKiB2bW92bnRkcSAlem1tCTY0IGJ5dGUsIEFWWC01MTIgKGZvcnRoY29taW5nKQ0KDQpU aGUgbGFzdCB3aWxsIHRyYW5zZmVyIGEgZnVsbCBjYWNoZSBsaW5lIGF0IGEgdGltZS4NCg0KRm9y IE5WRElNTXMsIHRoZSBuZCBwbWVtIGRyaXZlciBpcyBhbHNvIGluIG5lZWQgb2YgbWVtY3B5IGZ1 bmN0aW9ucyB0aGF0IA0KdXNlIHRoZXNlIG5vbi10ZW1wb3JhbCBpbnN0cnVjdGlvbnMsIGJvdGgg Zm9yIHBlcmZvcm1hbmNlIGFuZCByZWxpYWJpbGl0eS4NCldlIGFsc28gbmVlZCB0byBzcGVlZCB1 cCBfX2NsZWFyX3BhZ2UgYW5kIGNvcHlfdXNlcl9lbmhhbmNlZF9zdHJpbmcgc28NCnVzZXJzcGFj ZSBhY2Nlc3NlcyB0aHJvdWdoIHRoZSBwYWdlIGNhY2hlIGNhbiBrZWVwIHVwLg0KaHR0cHM6Ly9s a21sLm9yZy9sa21sLzIwMTUvNC8yLzQ1MyBpcyBvbmUgb2YgdGhlIHRocmVhZHMgb24gdGhhdCB0 b3BpYy4NCg0KU29tZSByZXN1bHRzIEkndmUgZ290dGVuIHRoZXJlIHVuZGVyIGRpZmZlcmVudCBj YWNoZSBhdHRyaWJ1dGVzDQooaW4gdGVybXMgb2YgNCBLaUIgSU9QUyk6DQoNCjE2LWJ5dGUgbW92 bnRkcToNClVDIHdyaXRlIGlvcHM9Njk3ODcyICg2OTcuODcyIEspKDAuNjk3ODcyIE0pDQpXQiB3 cml0ZSBpb3BzPTk3NDU4MDAgKDk3NDUuOCBLKSg5Ljc0NTggTSkNCldDIHdyaXRlIGlvcHM9OTgw MTgwMCAoOTgwMS44IEspKDkuODAxOCBNKQ0KV1Qgd3JpdGUgaW9wcz05ODEyNDAwICg5ODEyLjQg SykoOS44MTI0IE0pDQoNCjMyLWJ5dGUgdm1vdm50ZHE6DQpVQyB3cml0ZSBpb3BzPTEyNzQ0MDAg KDEyNzQuNCBLKSgxLjI3NDQgTSkNCldCIHdyaXRlIGlvcHM9MTAyNTkwMDAgKDEwMjU5IEspKDEw LjI1OSBNKQ0KV0Mgd3JpdGUgaW9wcz0xMDI4NjAwMCAoMTAyODYgSykoMTAuMjg2IE0pDQpXVCB3 cml0ZSBpb3BzPTEwMjk0MDAwICgxMDI5NCBLKSgxMC4yOTQgTSkNCg0KLS0tDQpSb2JlcnQgRWxs aW90dCwgSFAgU2VydmVyIFN0b3JhZ2UNCg0K -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751971AbbEBLzU (ORCPT ); Sat, 2 May 2015 07:55:20 -0400 Received: from g4t3427.houston.hp.com ([15.201.208.55]:34398 "EHLO g4t3427.houston.hp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751294AbbEBLzN (ORCPT ); Sat, 2 May 2015 07:55:13 -0400 From: "Elliott, Robert (Server Storage)" To: Daniel J Blueman , nzimmer , "Mel Gorman" CC: Pekka Enberg , Andrew Morton , Dave Hansen , "Long, Wai Man" , "Norton, Scott J" , Linux-MM , LKML , "'Steffen Persvold'" , "Boaz Harrosh (boaz@plexistor.com)" , "dan.j.williams@intel.com" , "linux-nvdimm@lists.01.org" Subject: RE: [PATCH 0/13] Parallel struct page initialisation v4 Thread-Topic: [PATCH 0/13] Parallel struct page initialisation v4 Thread-Index: AQHQgcFYZaZRr35KfU2EFsi/Km2hJZ1ilvEAgAAqiwCAAvtZgIAC1irQ Date: Sat, 2 May 2015 11:52:18 +0000 Message-ID: <94D0CD8314A33A4D9D801C0FE68B40295A8CE70F@G9W0745.americas.hpqcorp.net> References: <553FD39C.2070503@sgi.com> <1430410227.8193.0@cpanel21.proisp.no> In-Reply-To: <1430410227.8193.0@cpanel21.proisp.no> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [16.210.192.234] Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by nfs id t42BtNEd011722 > -----Original Message----- > From: linux-kernel-owner@vger.kernel.org [mailto:linux-kernel- > owner@vger.kernel.org] On Behalf Of Daniel J Blueman > Sent: Thursday, April 30, 2015 11:10 AM > Subject: Re: [PATCH 0/13] Parallel struct page initialisation v4 ... > On a 7TB, 1728-core NumaConnect system with 108 NUMA nodes, we're > seeing stock 4.0 boot in 7136s. This drops to 2159s, or a 70% reduction > with this patchset. Non-temporal PMD init [1] drops this to 1045s. > > Nathan, what do you guys see with the non-temporal PMD patch [1]? Do > add a sfence at the ende label if you manually patch. > ... > [1] https://lkml.org/lkml/2015/4/23/350 >>From that post: > +loop_64: > + decq %rcx > + movnti %rax,(%rdi) > + movnti %rax,8(%rdi) > + movnti %rax,16(%rdi) > + movnti %rax,24(%rdi) > + movnti %rax,32(%rdi) > + movnti %rax,40(%rdi) > + movnti %rax,48(%rdi) > + movnti %rax,56(%rdi) > + leaq 64(%rdi),%rdi > + jnz loop_64 There are some even more efficient instructions available in x86, depending on the CPU features: * movnti 8 byte * movntdq %xmm 16 byte, SSE * vmovntdq %ymm 32 byte, AVX * vmovntdq %zmm 64 byte, AVX-512 (forthcoming) The last will transfer a full cache line at a time. For NVDIMMs, the nd pmem driver is also in need of memcpy functions that use these non-temporal instructions, both for performance and reliability. We also need to speed up __clear_page and copy_user_enhanced_string so userspace accesses through the page cache can keep up. https://lkml.org/lkml/2015/4/2/453 is one of the threads on that topic. Some results I've gotten there under different cache attributes (in terms of 4 KiB IOPS): 16-byte movntdq: UC write iops=697872 (697.872 K)(0.697872 M) WB write iops=9745800 (9745.8 K)(9.7458 M) WC write iops=9801800 (9801.8 K)(9.8018 M) WT write iops=9812400 (9812.4 K)(9.8124 M) 32-byte vmovntdq: UC write iops=1274400 (1274.4 K)(1.2744 M) WB write iops=10259000 (10259 K)(10.259 M) WC write iops=10286000 (10286 K)(10.286 M) WT write iops=10294000 (10294 K)(10.294 M) --- Robert Elliott, HP Server Storage {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ob0-f182.google.com (mail-ob0-f182.google.com [209.85.214.182]) by kanga.kvack.org (Postfix) with ESMTP id 67B616B0038 for ; Sat, 2 May 2015 07:55:14 -0400 (EDT) Received: by obbkp3 with SMTP id kp3so25014379obb.3 for ; Sat, 02 May 2015 04:55:14 -0700 (PDT) Received: from g4t3427.houston.hp.com (g4t3427.houston.hp.com. [15.201.208.55]) by mx.google.com with ESMTPS id z66si4999503oiz.40.2015.05.02.04.55.13 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 02 May 2015 04:55:13 -0700 (PDT) From: "Elliott, Robert (Server Storage)" Subject: RE: [PATCH 0/13] Parallel struct page initialisation v4 Date: Sat, 2 May 2015 11:52:18 +0000 Message-ID: <94D0CD8314A33A4D9D801C0FE68B40295A8CE70F@G9W0745.americas.hpqcorp.net> References: <553FD39C.2070503@sgi.com> <1430410227.8193.0@cpanel21.proisp.no> In-Reply-To: <1430410227.8193.0@cpanel21.proisp.no> Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Sender: owner-linux-mm@kvack.org List-ID: To: Daniel J Blueman , nzimmer , Mel Gorman Cc: Pekka Enberg , Andrew Morton , Dave Hansen , "Long, Wai Man" , "Norton, Scott J" , Linux-MM , LKML , 'Steffen Persvold' , "Boaz Harrosh (boaz@plexistor.com)" , "dan.j.williams@intel.com" , "linux-nvdimm@lists.01.org" DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGxpbnV4LWtlcm5lbC1vd25l ckB2Z2VyLmtlcm5lbC5vcmcgW21haWx0bzpsaW51eC1rZXJuZWwtDQo+IG93bmVyQHZnZXIua2Vy bmVsLm9yZ10gT24gQmVoYWxmIE9mIERhbmllbCBKIEJsdWVtYW4NCj4gU2VudDogVGh1cnNkYXks IEFwcmlsIDMwLCAyMDE1IDExOjEwIEFNDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggMC8xM10gUGFy YWxsZWwgc3RydWN0IHBhZ2UgaW5pdGlhbGlzYXRpb24gdjQNCi4uLg0KPiBPbiBhIDdUQiwgMTcy OC1jb3JlIE51bWFDb25uZWN0IHN5c3RlbSB3aXRoIDEwOCBOVU1BIG5vZGVzLCB3ZSdyZQ0KPiBz ZWVpbmcgc3RvY2sgNC4wIGJvb3QgaW4gNzEzNnMuIFRoaXMgZHJvcHMgdG8gMjE1OXMsIG9yIGEg NzAlIHJlZHVjdGlvbg0KPiB3aXRoIHRoaXMgcGF0Y2hzZXQuIE5vbi10ZW1wb3JhbCBQTUQgaW5p dCBbMV0gZHJvcHMgdGhpcyB0byAxMDQ1cy4NCj4gDQo+IE5hdGhhbiwgd2hhdCBkbyB5b3UgZ3V5 cyBzZWUgd2l0aCB0aGUgbm9uLXRlbXBvcmFsIFBNRCBwYXRjaCBbMV0/IERvDQo+IGFkZCBhIHNm ZW5jZSBhdCB0aGUgZW5kZSBsYWJlbCBpZiB5b3UgbWFudWFsbHkgcGF0Y2guDQo+IA0KLi4uDQo+ IFsxXSBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxNS80LzIzLzM1MA0KDQpGcm9tIHRoYXQgcG9z dDoNCj4gK2xvb3BfNjQ6DQo+ICsJZGVjcSAgJXJjeA0KPiArCW1vdm50aQklcmF4LCglcmRpKQ0K PiArCW1vdm50aQklcmF4LDgoJXJkaSkNCj4gKwltb3ZudGkJJXJheCwxNiglcmRpKQ0KPiArCW1v dm50aQklcmF4LDI0KCVyZGkpDQo+ICsJbW92bnRpCSVyYXgsMzIoJXJkaSkNCj4gKwltb3ZudGkJ JXJheCw0MCglcmRpKQ0KPiArCW1vdm50aQklcmF4LDQ4KCVyZGkpDQo+ICsJbW92bnRpCSVyYXgs NTYoJXJkaSkNCj4gKwlsZWFxICA2NCglcmRpKSwlcmRpDQo+ICsJam56ICAgIGxvb3BfNjQNCg0K VGhlcmUgYXJlIHNvbWUgZXZlbiBtb3JlIGVmZmljaWVudCBpbnN0cnVjdGlvbnMgYXZhaWxhYmxl IGluIHg4NiwNCmRlcGVuZGluZyBvbiB0aGUgQ1BVIGZlYXR1cmVzOg0KKiBtb3ZudGkJCTggYnl0 ZQ0KKiBtb3ZudGRxICV4bW0JCTE2IGJ5dGUsIFNTRQ0KKiB2bW92bnRkcSAleW1tCTMyIGJ5dGUs IEFWWA0KKiB2bW92bnRkcSAlem1tCTY0IGJ5dGUsIEFWWC01MTIgKGZvcnRoY29taW5nKQ0KDQpU aGUgbGFzdCB3aWxsIHRyYW5zZmVyIGEgZnVsbCBjYWNoZSBsaW5lIGF0IGEgdGltZS4NCg0KRm9y IE5WRElNTXMsIHRoZSBuZCBwbWVtIGRyaXZlciBpcyBhbHNvIGluIG5lZWQgb2YgbWVtY3B5IGZ1 bmN0aW9ucyB0aGF0IA0KdXNlIHRoZXNlIG5vbi10ZW1wb3JhbCBpbnN0cnVjdGlvbnMsIGJvdGgg Zm9yIHBlcmZvcm1hbmNlIGFuZCByZWxpYWJpbGl0eS4NCldlIGFsc28gbmVlZCB0byBzcGVlZCB1 cCBfX2NsZWFyX3BhZ2UgYW5kIGNvcHlfdXNlcl9lbmhhbmNlZF9zdHJpbmcgc28NCnVzZXJzcGFj ZSBhY2Nlc3NlcyB0aHJvdWdoIHRoZSBwYWdlIGNhY2hlIGNhbiBrZWVwIHVwLg0KaHR0cHM6Ly9s a21sLm9yZy9sa21sLzIwMTUvNC8yLzQ1MyBpcyBvbmUgb2YgdGhlIHRocmVhZHMgb24gdGhhdCB0 b3BpYy4NCg0KU29tZSByZXN1bHRzIEkndmUgZ290dGVuIHRoZXJlIHVuZGVyIGRpZmZlcmVudCBj YWNoZSBhdHRyaWJ1dGVzDQooaW4gdGVybXMgb2YgNCBLaUIgSU9QUyk6DQoNCjE2LWJ5dGUgbW92 bnRkcToNClVDIHdyaXRlIGlvcHM9Njk3ODcyICg2OTcuODcyIEspKDAuNjk3ODcyIE0pDQpXQiB3 cml0ZSBpb3BzPTk3NDU4MDAgKDk3NDUuOCBLKSg5Ljc0NTggTSkNCldDIHdyaXRlIGlvcHM9OTgw MTgwMCAoOTgwMS44IEspKDkuODAxOCBNKQ0KV1Qgd3JpdGUgaW9wcz05ODEyNDAwICg5ODEyLjQg SykoOS44MTI0IE0pDQoNCjMyLWJ5dGUgdm1vdm50ZHE6DQpVQyB3cml0ZSBpb3BzPTEyNzQ0MDAg KDEyNzQuNCBLKSgxLjI3NDQgTSkNCldCIHdyaXRlIGlvcHM9MTAyNTkwMDAgKDEwMjU5IEspKDEw LjI1OSBNKQ0KV0Mgd3JpdGUgaW9wcz0xMDI4NjAwMCAoMTAyODYgSykoMTAuMjg2IE0pDQpXVCB3 cml0ZSBpb3BzPTEwMjk0MDAwICgxMDI5NCBLKSgxMC4yOTQgTSkNCg0KLS0tDQpSb2JlcnQgRWxs aW90dCwgSFAgU2VydmVyIFN0b3JhZ2UNCg0K -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org