From: Rasmus Lerdorf Date: Tue, 22 Mar 2016 15:04:53 +0000 (-0700) Subject: Disable huge pages in the Zend allocator by default X-Git-Tag: php-7.0.6RC1~72 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1efcdaf092a8e26342b67f2c7765be25dd459b4b;p=php Disable huge pages in the Zend allocator by default As per the discussion on internals, this is an expert feature that needs special system-level configuration and care. --- diff --git a/NEWS b/NEWS index 8f32f46682..9840730323 100644 --- a/NEWS +++ b/NEWS @@ -2,9 +2,10 @@ PHP NEWS ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| ?? ??? 2016 PHP 7.0.6 -- Core: - . Added ability to disable huge pages in Zend Memory Manager through - the environment variable USE_ZEND_ALLOC_HUGE_PAGES=0. (Dmitry) +- Core: + . Huge pages disabled by default. (Rasmus) + . Added ability to enable huge pages in Zend Memory Manager through + the environment variable USE_ZEND_ALLOC_HUGE_PAGES=1. (Dmitry) . Fixed Bug #71859 (zend_objects_store_call_destructors operates on realloced memory, crashing). (Laruence) . Fixed bug #71841 (EG(error_zval) is not handled well). (Laruence) @@ -18,7 +19,7 @@ PHP NEWS - Curl: . Fixed bug #71831 (CURLOPT_NOPROXY applied as long instead of string). - (Michael Sierks) + (Michael Sierks) - ODBC: . Fixed bug #63171 (Script hangs after max_execution_time). (Remi) diff --git a/Zend/zend_alloc.c b/Zend/zend_alloc.c index 4cf1178c57..1876559317 100644 --- a/Zend/zend_alloc.c +++ b/Zend/zend_alloc.c @@ -201,7 +201,7 @@ typedef struct _zend_mm_huge_list zend_mm_huge_list; #endif #ifdef MAP_HUGETLB -int zend_mm_use_huge_pages = 1; +int zend_mm_use_huge_pages = 0; #endif /* @@ -2654,8 +2654,8 @@ static void alloc_globals_ctor(zend_alloc_globals *alloc_globals) #endif #ifdef MAP_HUGETLB tmp = getenv("USE_ZEND_ALLOC_HUGE_PAGES"); - if (tmp && !zend_atoi(tmp, 0)) { - zend_mm_use_huge_pages = 0; + if (tmp && zend_atoi(tmp, 0)) { + zend_mm_use_huge_pages = 1; } #endif ZEND_TSRMLS_CACHE_UPDATE();