New issue
Advanced search Search tips

Issue 798800 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug



Sign in to add a comment

Add support_lazy_serialization to mus window service mojom targets

Project Member Reported by jamescook@chromium.org, Jan 3 2018

Issue description

For mushrome (chrome --mus) the UI window service will run in-process in the browser. To avoid adding latency for event processing mojo calls, add support_lazy_serialization to the window service mojo build targets. This should make mojo method calls equivalent in performance to a PostTask, at the cost of some code size.

 
Status: Started (was: Assigned)
https://chromium-review.googlesource.com/849657
Project Member

Comment 2 by bugdroid1@chromium.org, Jan 4 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2b7e85eb251dc791c80a6c2d71871a1c87b3597b

commit 2b7e85eb251dc791c80a6c2d71871a1c87b3597b
Author: James Cook <jamescook@chromium.org>
Date: Thu Jan 04 16:17:27 2018

cros: Use lazy serialization for window service mojo methods

The window service runs in the browser process for --mus and in the
ash_and_ui process for --mash. Use the support_lazy_serialization
build flag for the window service mojom targets so that in-process
mojo method calls avoid doing serialization for IPC. This should
improve event dispatch performance, as the mojo call becomes
equivalent to a PostTask.

This causes a known 130KB code size increase on 64-bit Intel
builds, so the feature is enabled on Chrome OS only.

Bug:  798800 
Test: bots
Change-Id: Ia488f95e6dd35ce1947df7117e623cd222786fb0
Reviewed-on: https://chromium-review.googlesource.com/849657
Reviewed-by: Scott Violet <sky@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#526999}
[modify] https://crrev.com/2b7e85eb251dc791c80a6c2d71871a1c87b3597b/services/ui/public/interfaces/BUILD.gn
[modify] https://crrev.com/2b7e85eb251dc791c80a6c2d71871a1c87b3597b/services/ui/public/interfaces/ime/BUILD.gn

Status: Fixed (was: Started)
I filed a separate bug to double-check before we ship whether this actually speeds things up in the final state.

Components: -Internals>MUS Internals>Services>WindowService
Project Member

Comment 5 by bugdroid1@chromium.org, May 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/7855923f7dd1510813a39fafbf299a9488f2c68e

commit 7855923f7dd1510813a39fafbf299a9488f2c68e
Author: James Cook <jamescook@chromium.org>
Date: Fri May 25 22:32:51 2018

chromeos: Remove lazy serialization from window service mojo methods

This saves 140 KB of chrome binary size on 64-bit Intel.

Previously for --enable-features=Mus we were running the window service
on a background thread in the browser process, so it was slightly more
efficient to use lazy serialization for mojo calls.

We have eliminated the "Mus" config and with ws2 the window service
mojo implementations will be directly implemented in the "ash"
service/process. All mojo calls will be cross-process, so there's no
advantage to using lazy serialization.

This is a revert of:
https://chromium-review.googlesource.com/c/chromium/src/+/849657

Bug:  798800 ,  799072 
Test: bots
Change-Id: I3f1ffe0e598e6bee7d3a54f41ffbbce23fd592e6
Reviewed-on: https://chromium-review.googlesource.com/1072460
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Sadrul Chowdhury <sadrul@chromium.org>
Commit-Queue: James Cook <jamescook@chromium.org>
Cr-Commit-Position: refs/heads/master@{#562040}
[modify] https://crrev.com/7855923f7dd1510813a39fafbf299a9488f2c68e/services/ui/public/interfaces/BUILD.gn
[modify] https://crrev.com/7855923f7dd1510813a39fafbf299a9488f2c68e/services/ui/public/interfaces/ime/BUILD.gn

Sign in to add a comment