Граф коммитов

24 Коммитов

Автор SHA1 Сообщение Дата
Haik Aftandilian 8cbd18a166 Bug 1567209 - CleanupForPid locking r=jld
Differential Revision: https://phabricator.services.mozilla.com/D45093

--HG--
extra : moz-landing-system : lando
2019-10-25 05:17:54 +00:00
Tarek Ziadé c10664f1c1 Bug 1533675 - Name all threads in Firefox r=Ehsan
This patch adds thread names where they are missing

Differential Revision: https://phabricator.services.mozilla.com/D33839

--HG--
extra : moz-landing-system : lando
2019-06-06 21:07:29 +00:00
Haik Aftandilian 42b2325351 Bug 1550771 - Deadlock in SharedMemoryBasic_mach triggered by AV1 playback r=jld
Don't hold gMutex when calling HandleSharePortsMessage() from PortServerThread to avoid deadlock.

Differential Revision: https://phabricator.services.mozilla.com/D31694

--HG--
extra : moz-landing-system : lando
2019-05-22 01:33:46 +00:00
Sylvestre Ledru ef0bfc3822 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D24168

--HG--
extra : moz-landing-system : lando
2019-03-31 15:12:55 +00:00
Cameron McCormack bc72d9813e Bug 1515551 - Add functionality to SharedMemoryBasic to help map the shared memory at an arbitrary address. r=kmag
This patch adds two things:

1. An optional fixed_address argument to SharedMemoryBasic::Map, which
   is the address to map the shared memory at.

2. A FindFreeAddressSpace function that callers can use to find a
   contiguous block of free address space, which can then be used to
   determine an address to pass in to Map that is likely to be free.

Patches in bug 1474793 will use these to place the User Agent style
sheets in a shared memory buffer in the parent process at an address
that is also likely to be free in content processes.

Differential Revision: https://phabricator.services.mozilla.com/D15057

--HG--
extra : moz-landing-system : lando
2019-03-22 00:11:51 +00:00
Sylvestre Ledru 0b4021fcad Bug 1521460 - Also reformat objective-c files r=mstange,ehsan,spohl
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D17139

--HG--
extra : histedit_source : 084f340503d2e1a2d9e1753c38b2c4ee9c7819f3
2019-01-21 18:18:16 +01:00
Doug Thayer cd54f8c184 Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 4f05832f51dae6db98773dcad03cb008a80eca6c
2018-05-05 15:46:26 -07:00
Cosmin Sabou fea686b1f6 Backed out 10 changesets (bug 1265824) for causing reftests failures on global-composite-operation.html. CLOSED TREE
Backed out changeset 391c8e7897df (bug 1265824)
Backed out changeset 27c7daabd1a3 (bug 1265824)
Backed out changeset 7c90215a2eca (bug 1265824)
Backed out changeset c141fb67cf9a (bug 1265824)
Backed out changeset 239ab9f9ef52 (bug 1265824)
Backed out changeset 39ae151b3d8c (bug 1265824)
Backed out changeset 71b23fbe1fec (bug 1265824)
Backed out changeset 295dd1a6a09f (bug 1265824)
Backed out changeset 6aecd088e02c (bug 1265824)
Backed out changeset bf9d73b214fc (bug 1265824)
2018-07-23 19:36:37 +03:00
Doug Thayer ac1648320e Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 67f6fee8b89933561a48e6f7f531b6969893a574
2018-05-05 15:46:26 -07:00
Margareta Eliza Balazs b1e7992b82 Backed out 8 changesets (bug 1265824) for bustage in /builds/worker/workspace/build/src/gfx/layers/opengl/CompositorOGL.cpp on a CLOSED TREE
Backed out changeset 1099d6f15f9f (bug 1265824)
Backed out changeset b5ba15b1a70f (bug 1265824)
Backed out changeset 51795de4adaf (bug 1265824)
Backed out changeset be68741ff4ce (bug 1265824)
Backed out changeset 4731dc56702d (bug 1265824)
Backed out changeset 984133e9614b (bug 1265824)
Backed out changeset efce316a4425 (bug 1265824)
Backed out changeset 367abce30668 (bug 1265824)
2018-07-19 09:33:28 +03:00
Doug Thayer eeeab69c1c Bug 1265824 - Wait on texture handles with IPC r=jld,mattwoodrow
There's a lot going on here, but it all fits under the idea of
being able to communicate about texture locking statuses
without spinning on IsReadLocked. This is a bit of a trade -
we could just always allocate/grab a texture from the pool,
which would put a smaller cap on the amount of time we can
possibly spend when a texture is locked. However, this eats
up more CPU and memory than waiting on the textures to unlock,
and could take longer, especially if there were a large number
of textures which we just need to wait for for a short amount
of time. In any case, we very rarely hit the case where we
actually need to wait on the sync IPC to the compositor - most
of the time the textures are already unlocked.

There is also an async IPC call in here, which we make before
flushing async paints. This just causes the compositor to
check whether the GPU is done with its textures or not and
unlock them if it is. This helps us avoid the case where we
take a long time painting asynchronously, turn IPC back on at
the end of that, and then have to wait for the compositor
to to get into TiledLayerBufferComposite::UseTiles before
getting a response. Specifically this eliminates several talos
regressions which use ASAP mode.

Lastly, there seem to be no other cases of static Monitors
being used. This seems like it falls under similar use cases
as StaticMutexes, so I added it in. I can move it into its own
file if we think it might be generally useful in the future.

MozReview-Commit-ID: IYQLwUqMxg2

--HG--
extra : rebase_source : 3624ad04aa01dac1cd38efb47764dc3a8fbd5fbd
2018-05-05 15:46:26 -07:00
Nazım Can Altınova e2504d14ab Bug 1465667 - Call mach_make_memory_entry_64 with MAP_MEM_NAMED_CREATE to exceed the 128mb limit on macOS r=jld
We were first allocating and mapping a virtual memory area using mach_vm_allocate
(similar to mmap with MAP_ANON) and then obtaining a shareable capability for the
underlying VM object using mach_make_memory_entry_64. However the memory mapping
is fragmented into multiple objects if it's over 128mb. Larger memory allocations
than 128mb weren't possible. To fix this, we are calling  mach_make_memory_entry_64
with MAP_MEM_NAMED_CREATE. That will create a new memory object and return a port
for it.

MozReview-Commit-ID: 5LLiaqJx175

--HG--
extra : rebase_source : 7ac964a1093eaf8ee30f319f5d21132c5d884362
2018-06-01 19:43:54 +02:00
Stephen A Pohl 54c0a8cff6 Bug 1362303: Avoid crashes when dragging on macOS due to failed allocations of large shmem segments. r=glandium 2018-03-06 13:21:54 -05:00
Tom Tromey 99f4608655 Bug 1334278 - change mozilla::Smprintf to return a UniquePtr; r=froydnj
Change mozilla::Smprintf and friends to return a UniquePtr, rather than
relying on manual memory management.  (Though after this patch there are
still a handful of spots needing SmprintfFree.)

MozReview-Commit-ID: COa4nzIX5qa

--HG--
extra : rebase_source : ab4a11b4d2e758099bd0794d5c25d799a7e42680
2017-03-03 08:17:27 -07:00
Andrew Osmond 5c88ddfaa2 Bug 1356289 - Part 1. Make SharedMemory::SetHandle accept an access rights parameter. r=billm 2017-04-18 12:24:58 -04:00
Tom Tromey 6774f8026a Bug 1060419 - make SharedMemoryBasic_mach.mm use Printf.h, r=froydnj
MozReview-Commit-ID: AhMoeW8Iv1D

--HG--
extra : rebase_source : 3d141680143c71ec3e8f104d5ca88cd85952962b
2016-12-09 14:04:47 -10:00
Andi-Bogdan Postelnicu 89d204c315 Bug 1318335 - Replace default bodies of special member functions with = default; in ipc/. r=billm
MozReview-Commit-ID: GV8abDSyxj5

--HG--
extra : rebase_source : 9b33c7f244dc700852bf405bbee5527059fc3928
2016-11-17 15:08:41 +02:00
Andi-Bogdan Postelnicu bfc72d696d Bug 1318335 - Use auto type specifier where aplicable for variable declarations to improve code readability and maintainability in ipc/. r=billm
MozReview-Commit-ID: K4NAI8HjUd2

--HG--
extra : rebase_source : 9abcb40b9b3ffea07519cc03e892e15b907e6e25
2016-11-17 15:07:35 +02:00
Andi-Bogdan Postelnicu 84bb36a693 Bug 1318335 - Converts for(...; ...; ...) loops to use the new range-based loops in C++11 in ipc/. r=billm
MozReview-Commit-ID: CXLSBRhANNW

--HG--
extra : rebase_source : 2c17b208e688504d34bd7e6aaccad64557afeafd
2016-11-17 15:06:25 +02:00
George Wright d7ed342b5e Bug 1264073 - Remove assertion in SharedMemoryBasic that we didn't initialise fast enough. r=billm 2016-10-21 12:53:00 -04:00
Lee Salzman 41d307c324 Bug 1245241 - part 1 - Close Shmem file handles after mapping them when possible to reduce exhaustion issues. r=billm 2016-02-18 10:56:15 -05:00
George Wright 38a0fd26ee Bug 1221540: OS X IPC timeout retry with a longer interval. r=milan
--HG--
extra : commitid : 2p6mF7bRulV
2015-12-24 12:54:07 -05:00
Gian-Carlo Pascutto e5ead0cadf Bug 1205164 - Detect message races in Mach Shmem implementation. r=blassey 2015-09-25 12:30:46 +02:00
Ted Mielczarek edc3c41143 bug 1204985 - make SharedMemoryBasic_mach build on iOS. r=billm
--HG--
rename : ipc/glue/SharedMemoryBasic_mach.cpp => ipc/glue/SharedMemoryBasic_mach.mm
extra : commitid : LQkdXR8Jccx
extra : rebase_source : b16238102bba8173126299f5d225f5ac24f047b8
2015-09-22 13:59:00 -04:00