Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Schulhof <gabriel.schulhof@intel.com>2019-12-13 22:59:37 +0300
committerGabriel Schulhof <gabriel.schulhof@intel.com>2019-12-22 22:49:26 +0300
commit8952105e576315fcb15cd4c9399e950bc191e854 (patch)
tree1583553a4d844867aa0e6c07f4b8c139c2c4a1eb /configure.py
parent312f3086c21e5c3595909358c54b5e5b9a0d095d (diff)
src: make --use-largepages a runtime option
Moves the option that instructs Node.js to-remap its static code to large pages from a configure-time option to a runtime option. This should make it easy to assess the performance impact of such a change without having to custom-build. PR-URL: https://github.com/nodejs/node/pull/30954 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com> Co-authored-by: David Carlier <devnexen@gmail.com>
Diffstat (limited to 'configure.py')
-rwxr-xr-xconfigure.py33
1 files changed, 0 insertions, 33 deletions
diff --git a/configure.py b/configure.py
index 95766d405a3..de27bb34038 100755
--- a/configure.py
+++ b/configure.py
@@ -404,17 +404,6 @@ parser.add_option('--with-etw',
dest='with_etw',
help='build with ETW (default is true on Windows)')
-parser.add_option('--use-largepages',
- action='store_true',
- dest='node_use_large_pages',
- help='build with Large Pages support. This feature is supported only on Linux kernel' +
- '>= 2.6.38 with Transparent Huge pages enabled and FreeBSD')
-
-parser.add_option('--use-largepages-script-lld',
- action='store_true',
- dest='node_use_large_pages_script_lld',
- help='link against the LLVM ld linker script. Implies -fuse-ld=lld in the linker flags')
-
intl_optgroup.add_option('--with-intl',
action='store',
dest='with_intl',
@@ -1068,28 +1057,6 @@ def configure_node(o):
else:
o['variables']['node_use_dtrace'] = 'false'
- if options.node_use_large_pages and not flavor in ('linux', 'freebsd', 'mac'):
- raise Exception(
- 'Large pages are supported only on Linux, FreeBSD and MacOS Systems.')
- if options.node_use_large_pages and flavor in ('linux', 'freebsd', 'mac'):
- if options.shared or options.enable_static:
- raise Exception(
- 'Large pages are supported only while creating node executable.')
- if target_arch!="x64":
- raise Exception(
- 'Large pages are supported only x64 platform.')
- if flavor == 'mac':
- info('macOS server with 32GB or more is recommended')
- if flavor == 'linux':
- # Example full version string: 2.6.32-696.28.1.el6.x86_64
- FULL_KERNEL_VERSION=os.uname()[2]
- KERNEL_VERSION=FULL_KERNEL_VERSION.split('-')[0]
- if KERNEL_VERSION < "2.6.38" and flavor == 'linux':
- raise Exception(
- 'Large pages need Linux kernel version >= 2.6.38')
- o['variables']['node_use_large_pages'] = b(options.node_use_large_pages)
- o['variables']['node_use_large_pages_script_lld'] = b(options.node_use_large_pages_script_lld)
-
if options.no_ifaddrs:
o['defines'] += ['SUNOS_NO_IFADDRS']