Skip to content

linux: fix epoll_pwait() fallback on arm64 - #1365

Merged
bnoordhuis merged 1 commit into
nodejs:v1.xfrom
bnoordhuis:backport-libuv-arm64-fix
Apr 7, 2015
Merged

linux: fix epoll_pwait() fallback on arm64#1365
bnoordhuis merged 1 commit into
nodejs:v1.xfrom
bnoordhuis:backport-libuv-arm64-fix

Conversation

@bnoordhuis

Copy link
Copy Markdown
Member

arm64 doesn't have a epoll_wait() system call but a logic error stopped
libuv from falling back to epoll_pwait().

This bug was introduced in commit libuv/libuv@67bb2b5 ("linux: fix
epoll_pwait() regression with < 2.6.19") which sadly exchanged one
regression for another.

This commit is a back-port of libuv/libuv@1d8332f and should help
get the ARMv8 buildbot in better shape.

Original-PR-URL: libuv/libuv#308

R=@indutny maybe?

https://jenkins-iojs.nodesource.com/view/iojs/job/iojs+any-pr+multi/456/

arm64 doesn't have a epoll_wait() system call but a logic error stopped
libuv from falling back to epoll_pwait().
This bug was introduced in commit libuv/libuv@67bb2b5 ("linux: fix
epoll_pwait() regression with < 2.6.19") which sadly exchanged one
regression for another.
This commit is a back-port of libuv/libuv@1d8332f and should help
get the ARMv8 buildbot in better shape.
Original-PR-URL: libuv/libuv#308
PR-URL: nodejs#1365
Reviewed-By: Fedor Indutny <fedor@indutny.com>
@indutny

Copy link
Copy Markdown
Member

LGTM

@bnoordhuis
bnoordhuisforce-pushed the backport-libuv-arm64-fix branch from e4c803f to 264a8f3CompareApril 7, 2015 18:10
@bnoordhuis
bnoordhuis deleted the backport-libuv-arm64-fix branch April 7, 2015 18:10
@bnoordhuis
bnoordhuis merged commit 264a8f3 into nodejs:v1.xApr 7, 2015
@rvaggrvagg mentioned this pull request Apr 11, 2015
rvagg added a commit that referenced this pull request Apr 14, 2015
Notable changes:
* C++ API: Fedor Indutny contributed a feature to V8 which has been
backported to the V8 bundled in io.js. SealHandleScope allows a C++
add-on author to seal a HandleScope to prevent further, unintended
allocations within it. Currently only enabled for debug builds of
io.js. This feature helped detect the leak in #1075 and is now
activated on the root HandleScope in io.js. (Fedor Indutny) #1395.
* ARM: This release includes significant work to improve the state of
ARM support for builds and tests. The io.js CI cluster's ARMv6,
ARMv7 and ARMv8 build servers are now all (mostly) reporting passing
builds and tests.
- ARMv8 64-bit (AARCH64) is now properly supported, including a
backported fix in libuv that was mistakenly detecting the
existence of `epoll_wait()`. (Ben Noordhuis) #1365.
- ARMv6: #1376 reported a problem with Math.exp() on ARMv6 (incl
Raspberry Pi). The culprit is erroneous codegen for ARMv6 when
using the "fast math" feature of V8. --nofast_math has been turned
on for all ARMv6 variants by default to avoid this, fast math can
be turned back on with --fast_math. (Ben Noordhuis) #1398.
- Tests: timeouts have been tuned specifically for slower platforms,
detected as ARMv6 and ARMv7. (Roman Reiss) #1366.
* npm: Upgrade npm to 2.7.6. See the release notes
(https://github.com/npm/npm/releases/tag/v2.7.6) for details.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bnoordhuis@indutny