Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Send display lists over IPC in multiprocess mode. #6795

Merged
merged 6 commits into from Jul 31, 2015

Conversation

@pcwalton
Copy link
Contributor

pcwalton commented Jul 27, 2015

This patch set introduces the --multiprocess (-M) switch. Right now, all it does it cause display lists to be serialized, but eventually it will cause actual processes to be spawned.

r? @metajack

Review on Reviewable

@highfive
Copy link

highfive commented Jul 27, 2015

warning Warning warning

  • These commits modify unsafe code. Please review it carefully!
@metajack
Copy link
Contributor

metajack commented Jul 27, 2015

-S-awaiting-review +S-awaiting-answer


Reviewed 5 of 5 files at r1, 2 of 2 files at r2, 6 of 6 files at r3, 4 of 4 files at r4, 3 of 3 files at r5.
Review status: all files reviewed at latest revision, 7 unresolved discussions, all commit checks successful.


components/compositing/pipeline.rs, line 197 [r3] (raw file):
Not sure why you changed let _ = to drop(). The original reason for it was so it was clear we were ignoring the return value. I don't think there is a hidden drop here we are trying to make visible.


components/compositing/pipeline.rs, line 202 [r3] (raw file):
Same as above.


components/compositing/pipeline.rs, line 291 [r3] (raw file):
Are these layout_to_paint things used anywhere? I can't seem to find where.


components/gfx/paint_task.rs, line 206 [r3] (raw file):
Shouldn't this be layout_to_paint_handle?


components/gfx/paint_task.rs, line 207 [r3] (raw file):
Ditto above.


components/gfx/platform/macos/font_template.rs, line 72 [r5] (raw file):
Why is this necessary now? Or was it a bug that this didn't have it originally?


components/util/ipc.rs, line 32 [r1] (raw file):
Throwing away errors seems wrong. Can you give some explanation for this? Does IPC not have any error semantics on send?sx


Comments from the review on Reviewable.io

@pcwalton
Copy link
Contributor Author

pcwalton commented Jul 27, 2015

Review status: all files reviewed at latest revision, 7 unresolved discussions, all commit checks successful.


components/compositing/pipeline.rs, line 293 [r3] (raw file):
Yes, they're used in the invocations of LayoutTaskFactory::create() and PaintTask::create() in the two methods below.


components/gfx/platform/macos/font_template.rs, line 72 [r5] (raw file):
It should have been there before. We need the mutex so that if two threads try to instantiate the CachedCTFont at the same time they won't interfere with one another.


components/util/ipc.rs, line 32 [r1] (raw file):
IPC senders' error codes are OS-specific and different from OS to OS. At the moment ipc-channel does not attempt to abstract over Mach vs. POSIX error codes, as Servo doesn't try to deal with errors in sending on a fine-grained level anyway.

This doesn't actually throw away the error—it just throws away the error description.


Comments from the review on Reviewable.io

@pcwalton pcwalton force-pushed the pcwalton:display-list-e10s-fixes branch from 601dca7 to 4233857 Jul 27, 2015
@pcwalton
Copy link
Contributor Author

pcwalton commented Jul 27, 2015

Review comments addressed. r? @metajack

@metajack
Copy link
Contributor

metajack commented Jul 27, 2015

@bors-servo r+

-S-awaiting-answer -S-awaiting-review +S-awaiting-merge


Reviewed 2 of 2 files at r6.
Review status: all files reviewed at latest revision, 4 unresolved discussions, all commit checks successful.


Comments from the review on Reviewable.io

@bors-servo
Copy link
Contributor

bors-servo commented Jul 27, 2015

📌 Commit 4233857 has been approved by metajack

@bors-servo
Copy link
Contributor

bors-servo commented Jul 29, 2015

Testing commit 4233857 with merge 8ebd958...

bors-servo pushed a commit that referenced this pull request Jul 29, 2015
Send display lists over IPC in multiprocess mode.

This patch set introduces the `--multiprocess` (`-M`) switch. Right now, all it does it cause display lists to be serialized, but eventually it will cause actual processes to be spawned.

r? @metajack

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6795)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Jul 29, 2015

💔 Test failed - mac3

@bors-servo
Copy link
Contributor

bors-servo commented Jul 29, 2015

📌 Commit 4233857 has been approved by pcwalton

@pcwalton
Copy link
Contributor Author

pcwalton commented Jul 29, 2015

@bors-servo
Copy link
Contributor

bors-servo commented Jul 29, 2015

Testing commit 4233857 with merge 82145d9...

bors-servo pushed a commit that referenced this pull request Jul 29, 2015
Send display lists over IPC in multiprocess mode.

This patch set introduces the `--multiprocess` (`-M`) switch. Right now, all it does it cause display lists to be serialized, but eventually it will cause actual processes to be spawned.

r? @metajack

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6795)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Jul 29, 2015

💔 Test failed - mac3

@jdm
Copy link
Member

jdm commented Jul 29, 2015

@pcwalton I'm not convinced that these are just intermittent failures that are suddenly appearing for the first time:

/css21_dev/html4/absolute-replaced-height-026.htm
-------------------------------------------------
TIMEOUT expected FAIL [Parent]
/css21_dev/html4/absolute-replaced-height-025.htm
-------------------------------------------------
TIMEOUT expected FAIL [Parent]
/css21_dev/html4/float-replaced-height-004.htm
----------------------------------------------
TIMEOUT expected FAIL [Parent]
/css21_dev/html4/inline-replaced-height-005.htm
-----------------------------------------------
TIMEOUT [Parent]

A bunch of similar replaced-height CSS tests failed on the last round too.

@jdm jdm added S-tests-failed and removed S-awaiting-merge labels Jul 29, 2015
@bors-servo
Copy link
Contributor

bors-servo commented Jul 29, 2015

The latest upstream changes (presumably #6804) made this pull request unmergeable. Please resolve the merge conflicts.

@metajack metajack self-assigned this Jul 29, 2015
@pcwalton pcwalton force-pushed the pcwalton:display-list-e10s-fixes branch from 4233857 to 516d642 Jul 30, 2015
@jdm jdm removed the S-awaiting-merge label Jul 30, 2015
@jdm
Copy link
Member

jdm commented Jul 30, 2015

/css21_dev/html4/absolute-replaced-height-026.htm
-------------------------------------------------
TIMEOUT expected FAIL [Parent]
/css21_dev/html4/absolute-replaced-height-033.htm
-------------------------------------------------
TIMEOUT expected FAIL [Parent]
/css21_dev/html4/block-replaced-height-005.htm
----------------------------------------------
TIMEOUT expected FAIL [Parent]

No more retries allowed until at least one line of code is changed :)

@bors-servo
Copy link
Contributor

bors-servo commented Jul 30, 2015

The latest upstream changes (presumably #6740) made this pull request unmergeable. Please resolve the merge conflicts.

@pcwalton pcwalton force-pushed the pcwalton:display-list-e10s-fixes branch from 516d642 to 3f09a25 Jul 31, 2015
@pcwalton pcwalton force-pushed the pcwalton:display-list-e10s-fixes branch from 3f09a25 to e8a8b1d Jul 31, 2015
pcwalton added 6 commits Jul 27, 2015
`OptionalIpcSender<T>`.

`OptionalIpcSender<T>`dynamically switches between in-process and
out-of-process communication depending on whether multiprocess mode is
enabled.

The multiprocess command-line switch doesn't actually turn on
multiprocess mode yet, but it does control the behavior of
`OptionalIpcSender<T>`.
@pcwalton pcwalton force-pushed the pcwalton:display-list-e10s-fixes branch from e8a8b1d to 17ead87 Jul 31, 2015
@pcwalton
Copy link
Contributor Author

pcwalton commented Jul 31, 2015

@bors-servo: r=glennw

@bors-servo
Copy link
Contributor

bors-servo commented Jul 31, 2015

📌 Commit 17ead87 has been approved by glennw

@bors-servo
Copy link
Contributor

bors-servo commented Jul 31, 2015

Testing commit 17ead87 with merge c4480b5...

bors-servo pushed a commit that referenced this pull request Jul 31, 2015
Send display lists over IPC in multiprocess mode.

This patch set introduces the `--multiprocess` (`-M`) switch. Right now, all it does it cause display lists to be serialized, but eventually it will cause actual processes to be spawned.

r? @metajack

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6795)
<!-- Reviewable:end -->
@pcwalton
Copy link
Contributor Author

pcwalton commented Jul 31, 2015

(I landed a fix for what I believe to be the problem here)

@bors-servo
Copy link
Contributor

bors-servo commented Jul 31, 2015

☀️ Test successful - android, gonk, linux1, linux2, linux3, mac1, mac2, mac3

@bors-servo bors-servo merged commit 17ead87 into servo:master Jul 31, 2015
2 checks passed
2 checks passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@pcwalton pcwalton deleted the pcwalton:display-list-e10s-fixes branch Jul 31, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can’t perform that action at this time.