Stream: t-compiler/wg-parallel-rustc

Topic: Rebase on newer rayon


cuviper (Sep 10 2019 at 17:40, on Zulip):

I rebased on 1.2 now, and opened a draft PR: https://github.com/rust-lang/rust/pull/64358/

nikomatsakis (Oct 07 2019 at 19:50, on Zulip):

@cuviper this is what you want me to land, right?

cuviper (Oct 07 2019 at 19:56, on Zulip):

Yes, thanks

nikomatsakis (Oct 07 2019 at 19:56, on Zulip):

@cuviper the panic forwarding here is interesting

nikomatsakis (Oct 07 2019 at 19:56, on Zulip):

any idea what's going on there?

nikomatsakis (Oct 07 2019 at 19:56, on Zulip):

seems like something we could plausibly want on master?

nikomatsakis (Oct 07 2019 at 19:57, on Zulip):

Also, any idea why we made registry method fully public here?

cuviper (Oct 07 2019 at 20:00, on Zulip):

normally the panic would forward naturally, but in this case it needs to wait_until_stopped so the acquire/release handlers will be called and yield its token to the jobserver.

cuviper (Oct 07 2019 at 20:00, on Zulip):

I'm not really keen on this, but it maintains the status quo of how the old scoped threadpool was working too

nikomatsakis (Oct 07 2019 at 20:01, on Zulip):

normally the panic would forward naturally, but in this case it needs to wait_until_stopped so the acquire/release handlers will be called and yield its token to the jobserver.

hmm ok. we could use a drop or something for this too I guess

nikomatsakis (Oct 07 2019 at 20:01, on Zulip):

maybe you can add a comment there, in any case ?

nikomatsakis (Oct 07 2019 at 20:01, on Zulip):

(hard to leave comments on the PR owing to the funky diff)

cuviper (Oct 07 2019 at 20:01, on Zulip):

yeah, or scope-guard, etc.

nikomatsakis (Oct 07 2019 at 20:01, on Zulip):

I took some quick notes as I reviewed -- these seems to be the main changes in the rustc-rayon fork

nikomatsakis (Oct 07 2019 at 20:02, on Zulip):

I guess the next question then is, from the rustc side, to take some notes on how they are used

nikomatsakis (Oct 07 2019 at 20:02, on Zulip):

feel free to edit

nikomatsakis (Oct 07 2019 at 20:02, on Zulip):

I guess now the question is how to manage the revisions

cuviper (Oct 07 2019 at 20:02, on Zulip):

on the pub Registry, there are a few uses in librustc, but I haven't really reviewed them

nikomatsakis (Oct 07 2019 at 20:02, on Zulip):

ok

nikomatsakis (Oct 07 2019 at 20:02, on Zulip):

seems bad

cuviper (Oct 07 2019 at 20:03, on Zulip):

yeah

cuviper (Oct 07 2019 at 20:03, on Zulip):

I didn't try to solve everything ;)

nikomatsakis (Oct 07 2019 at 20:03, on Zulip):

(just because Registry wasn't previously exposed)

nikomatsakis (Oct 07 2019 at 20:03, on Zulip):

yeah no that's fine

nikomatsakis (Oct 07 2019 at 20:03, on Zulip):

I guess I'll make a "merge commit" but I'll just get the contents from your branch in all conflicts

nikomatsakis (Oct 07 2019 at 20:03, on Zulip):

or something..?

nikomatsakis (Oct 07 2019 at 20:03, on Zulip):

(I want to not destroy history)

cuviper (Oct 07 2019 at 20:05, on Zulip):

there are crate-VERSION branches where you can leave the history

cuviper (Oct 07 2019 at 20:05, on Zulip):

I believe zoxc has rebased several times this way

nikomatsakis (Oct 07 2019 at 20:06, on Zulip):

there are crate-VERSION branches where you can leave the history

ok, that was the alternate approach I was considering

cuviper (Oct 07 2019 at 20:07, on Zulip):

I'll add a comment on that wait_until_stopped -- anything else?

cuviper (Oct 07 2019 at 20:12, on Zulip):

oh, you just pushed already

nikomatsakis (Oct 07 2019 at 20:13, on Zulip):

oh sorry

nikomatsakis (Oct 07 2019 at 20:13, on Zulip):

I forgot

nikomatsakis (Oct 07 2019 at 20:13, on Zulip):

:)

cuviper (Oct 07 2019 at 20:13, on Zulip):

:shrug:

nikomatsakis (Oct 07 2019 at 20:13, on Zulip):

not important

nikomatsakis (Oct 07 2019 at 20:13, on Zulip):

I'm publishing 0.3.0

nikomatsakis (Oct 07 2019 at 20:14, on Zulip):

crate-0.3.0 branch created, published

nikomatsakis (Oct 07 2019 at 20:15, on Zulip):

I guess you want https://github.com/rust-lang/rust/pull/64358/ reviewed, too?

cuviper (Oct 07 2019 at 20:15, on Zulip):

yeah, but let me update for 0.3 first

cuviper (Oct 07 2019 at 20:18, on Zulip):

uh, how is rustc-ap-rustc_data_structures managed? that's holding rustc-rayon 0.2 too

cuviper (Oct 07 2019 at 20:19, on Zulip):

@nikomatsakis do we land without that first, and then it can update and circle back independently?

nikomatsakis (Oct 07 2019 at 20:20, on Zulip):

afaik that's done by some script?

nikomatsakis (Oct 07 2019 at 20:20, on Zulip):

we don't depend on it, I don't think?

cuviper (Oct 07 2019 at 20:20, on Zulip):

it's in Cargo.lock though

cuviper (Oct 07 2019 at 20:21, on Zulip):

I was trying to see why the old stuff didn't go away yet

nikomatsakis (Oct 07 2019 at 20:21, on Zulip):

maybe @Alex Crichton knows what's going on there

cuviper (Oct 07 2019 at 20:21, on Zulip):

anyway, just doing a quick ./x.py check and then I'll be ready

cuviper (Oct 07 2019 at 20:35, on Zulip):

ready

cuviper (Oct 07 2019 at 20:39, on Zulip):

eh, crossbeam-queue failed the whitelist, hold on

nikomatsakis (Oct 07 2019 at 20:41, on Zulip):

you can r=nikomatsakis whenever you're ready

cuviper (Oct 07 2019 at 20:41, on Zulip):

@nikomatsakis you're good with whitelisting crossbeam-queue, I hope?

nikomatsakis (Oct 07 2019 at 20:42, on Zulip):

seems fine

nikomatsakis (Oct 07 2019 at 20:43, on Zulip):

presuambly we already whitelist other crossbeam crates

cuviper (Oct 07 2019 at 20:43, on Zulip):

yep

cuviper (Oct 07 2019 at 20:43, on Zulip):

I'm going to update the few "real" rayon uses to 1.2 too, for consistency

cuviper (Oct 07 2019 at 20:43, on Zulip):

(like in the installer tool)

simulacrum (Oct 07 2019 at 21:05, on Zulip):

@cuviper that's on a cron job on Alex's computer, it'll auto update when we land changes in master in ~24 hours I believe

simulacrum (Oct 07 2019 at 21:06, on Zulip):

re: ap stuff

cuviper (Oct 07 2019 at 21:06, on Zulip):

cool, thanks

Last update: Nov 17 2019 at 07:10UTC