Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:88188 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 59306 invoked from network); 14 Sep 2015 20:05:23 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 14 Sep 2015 20:05:23 -0000 Authentication-Results: pb1.pair.com smtp.mail=anatol.php@belski.net; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=anatol.php@belski.net; sender-id=unknown Received-SPF: error (pb1.pair.com: domain belski.net from 85.214.73.107 cause and error) X-PHP-List-Original-Sender: anatol.php@belski.net X-Host-Fingerprint: 85.214.73.107 klapt.com Received: from [85.214.73.107] ([85.214.73.107:52248] helo=h1123647.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 3F/51-48700-08827F55 for ; Mon, 14 Sep 2015 16:05:21 -0400 Received: by h1123647.serverkompetenz.net (Postfix, from userid 1006) id C89D66D20CD; Mon, 14 Sep 2015 22:05:17 +0200 (CEST) Received: from w530phpdev (pD9FE88ED.dip0.t-ipconnect.de [217.254.136.237]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by h1123647.serverkompetenz.net (Postfix) with ESMTPSA id D01F76D20C9; Mon, 14 Sep 2015 22:05:13 +0200 (CEST) To: "'Dmitry Stogov'" , "'Anatol Belski'" , "'Kalle Sommer Nielsen'" , "'Rasmus Lerdorf'" , "'Xinchen Hui'" , "'Nikita Popov'" , "'Zeev Suraski'" , "'Andi Gutmans'" , "'PHP Internals'" Date: Mon, 14 Sep 2015 22:05:11 +0200 Message-ID: <031201d0ef28$abcec710$036c5530$@belski.net> MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQIrZycj8gcimac7Mo68xuhek5bopwJpU/6tnXQB4sA= Content-Language: en-us Subject: RE: [PHP-DEV] Re: [PHP-CVS] com php-src: Added an experemental ability to move PHP code pages (PHP TEXT segment) into HUGE pages. PHP should be configured and built with --enable-huge-code-pages, OS should be configured to provide huge pages. It's possibl From: anatol.php@belski.net ("Anatol Belski") Hi Dmitry, > -----Original Message----- > From: Dmitry Stogov [mailto:dmitry@zend.com] > Sent: Monday, September 14, 2015 12:58 PM > To: Anatol Belski ; Kalle Sommer Nielsen ; > Rasmus Lerdorf ; Xinchen Hui ; > Nikita Popov ; Zeev Suraski ; = Andi > Gutmans ; PHP Internals > Subject: [PHP-DEV] Re: [PHP-CVS] com php-src: Added an experemental = ability > to move PHP code pages (PHP TEXT segment) into HUGE pages. PHP should = be > configured and built with --enable-huge-code-pages, OS should be = configured to > provide huge pages. It's possible to >=20 > The effect of this patch is really exiting to keep it disabled by = default... :) >=20 > $ perf stat -e instructions,iTLB-loads,iTLB-load-misses,cycles > sapi/cgi/php-cgi -d opcache.enable_huge_code_pages=3D0 -T 10000 > /var/www/html/bench/wordpress-3.6/index.php > /dev/null >=20 > 191,778,620,621 instructions # 0.81 insns per > cycle > 178,497,016 > iTLB-loads > 87,351,276 iTLB-load-misses # 48.94% of all = iTLB > cache hits > 238,136,402,797 > cycles >=20 > 110.221114219 seconds time elapsed >=20 > $ perf stat -e instructions,iTLB-loads,iTLB-load-misses,cycles > sapi/cgi/php-cgi -d opcache.enable_huge_code_pages=3D1 -T 10000 > /var/www/html/bench/wordpress-3.6/index.php > /dev/null >=20 > 191,780,181,536 instructions # 0.83 insns per > cycle > 39,017,004 > iTLB-loads > 41,631,359 iTLB-load-misses # 106.70% of all = iTLB > cache hits > 231,287,491,307 > cycles >=20 > 107.742837269 seconds time elapsed >=20 > May be we should enable this by default in RC (may be also file cache) = and make > decision based on feedback? >=20 The file cache feature has proven itself as stable already, IMHO it = should be built by default in RC3. With the new huge memory pages feature I'd suggest a bit softer - = enabling its building, but setting opcache.enable_huge_code_pages=3D0 by = default. Then it can be easy enable and give one more intermediate step = for pre testing and go into RC4 completely if ok. What do you think? Regards Anatol=20