Two illumos patches I'd like to submit?

33 views
Skip to first unread message

Dan McDonald

unread,
May 2, 2025, 5:59:00 PM5/2/25
to v8-dev
Both have been tested on modern illumos (the still-open-source success to OpenSolaris) by using Node.JS 24's recent import of V8 13.6.

They are here for download:   https://kebe.com/~danmcd/webrevs/V8-patches/

The first one is dependent on a modern V8 with the recent AIX patches from Abdirahim Musse, but has a 13.6 variant already committed in Node 24's post-13.6-import thanks to the folks at Node!

The second fix forces a recent illumos version, but gets rid of a horrible mismatch with madvise(3C) that we fixed in illumos-gate in 2022; we now use `void *` where appropriate instead of `caddr_t`, which I know is restricting Node's illumos/SmartOS Jenkins build agents.

I don't know if anyone has set up the V8 build tooling on illumos lately or ever, but I'm happy to assist modulo my limited cycles. Unblocking Node on illumos was important, and Abdirahim's fix helped me arrive at the appropriate illumos one for our VA48 process address space both in Node, and for upstream V8.

I will gladly accept any clues thrown my way. My only limitation is cycles, as I'm a core member of the illumos team, as well as the lead for illumos-distro SmartOS.

Thank you!
Dan McDonald

Jakob Kummerow

unread,
May 5, 2025, 6:59:02 AM5/5/25
to v8-...@googlegroups.com
To submit patches to V8, please upload them to Gerrit. See https://v8.dev/docs/contribute.

Patches generally land on the main branch. Backmerges to old branches (such as 13.6) would need special justification.

Note that illumos is officially unsupported by the core V8 team, i.e. it's only supported by interested community members such as yourself.
That means: 
(1) You can pretty much do whatever you want, don't expect much feedback. Everyone has limited cycles, and "officially unsupported" means we're not going to spend our cycles on illumos (neither by fixing issues, nor by taking the time for in-depth reviews). If you want an in-depth review, find another illumos expert in the illumos community and work with them.
(2) illumos-related patches should be specific to illumos and not run a risk of breaking (or complicating) anything else.

So, as long as your patches are non-intrusive, getting them approved and landed should be easy. I for one have no plans to build or test V8 on illumos. Our CI infrastructure doesn't provide test coverage on illumos either (see "officially unsupported" above).


--
--
v8-dev mailing list
v8-...@googlegroups.com
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/v8-dev/8a7b2a40-f9e3-4f58-9d78-2a1b9ae45363n%40googlegroups.com.

Dan McDonald

unread,
May 6, 2025, 12:26:50 AM5/6/25
to v8-dev
On Monday, May 5, 2025 at 6:59:02 AM UTC-4 Jakob Kummerow wrote:
To submit patches to V8, please upload them to Gerrit. See https://v8.dev/docs/contribute.

I did read that... lotta tooling, and it's not clear I can use any of it on illumos.  I guess I can use MacOS for submissions. Also, I'm still in the spin-down process of a set of Ms&As so I'm not sure under whose name I'd register my company, or if they'd let me contribute as an individual.
 
Patches generally land on the main branch. Backmerges to old branches (such as 13.6) would need special justification.

Node took the illumos-only patch for their import of 13.6, which was kind and supportive of them.  I'm not expecting V8 to accept backports. I hope to have illumos changes upstream before the NEXT time Node updates their V8 revision.
 
Note that illumos is officially unsupported by the core V8 team, i.e. it's only supported by interested community members such as yourself.

I noticed this in BUILD.gn:

      `  # TODO(infra): Add support for qnx, freebsd, openbsd, netbsd, and solaris.`

Do you support Oracle Solaris?  We aren't THAT much different from our closed-source peer descendant.
 
That means: 
(1) You can pretty much do whatever you want, don't expect much feedback. Everyone has limited cycles, and "officially unsupported" means we're not going to spend our cycles on illumos (neither by fixing issues, nor by taking the time for in-depth reviews). If you want an in-depth review, find another illumos expert in the illumos community and work with them.

Understood.  Mostly these would be upstream pushes first tested in Node.  I think there are some Node folks who hang out here.  I'm sure they'd like upstream to not require Node-specific changes.
 
(2) illumos-related patches should be specific to illumos and not run a risk of breaking (or complicating) anything else.

Yep.  It's why I wanted to wait for the AIX one to LAND in V8, so I could be out of their way.
 
So, as long as your patches are non-intrusive, getting them approved and landed should be easy. I for one have no plans to build or test V8 on illumos. Our CI infrastructure doesn't provide test coverage on illumos either (see "officially unsupported" above).

My testing will be in the context of Node... you're an upstream, so just think about it that way: A downstream trying to give back to upstream.

Thank you for the information.  I'll move forward as I can.

Dan

Jakob Kummerow

unread,
May 6, 2025, 6:00:51 AM5/6/25
to v8-...@googlegroups.com
On Tue, May 6, 2025 at 6:26 AM Dan McDonald <kebesoftwar...@gmail.com> wrote:
I'm still in the spin-down process of a set of Ms&As so I'm not sure under whose name I'd register my company, or if they'd let me contribute as an individual.

Well, you'll have to figure that out obviously, and it's unrelated to how you submit your patches: just putting them up for download somewhere doesn't avoid the official authorship question.
At any rate we'll need a corporate or personal CLA submission.

 
Patches generally land on the main branch. Backmerges to old branches (such as 13.6) would need special justification.

Node took the illumos-only patch for their import of 13.6, which was kind and supportive of them.  I'm not expecting V8 to accept backports. I hope to have illumos changes upstream before the NEXT time Node updates their V8 revision.

That's fine. Your previous message sounded like "depending on a modern V8" was a limitation/concern, to which I wanted to reply that it's not, on the contrary.
 
 
Note that illumos is officially unsupported by the core V8 team, i.e. it's only supported by interested community members such as yourself.

I noticed this in BUILD.gn:

      `  # TODO(infra): Add support for qnx, freebsd, openbsd, netbsd, and solaris.`

Do you support Oracle Solaris?  We aren't THAT much different from our closed-source peer descendant.

No, none of these are officially supported. That comment is ~11 years old, which gives some indication of the priority of (and demand for) doing anything for these OSs. We could probably just drop it to reflect reality.

Reply all
Reply to author
Forward
0 new messages