1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/layer
Xinfeng Liu 05250a4f00 layer: optimize layerStore mountL
Goroutine stack analisys shown some lock contention
while doing massively (100 instances of `docker rm`)
parallel image removal, with many goroutines waiting
for the mountL mutex. Optimize it.

With this commit, the above operation is about 3x
faster, with no noticeable change to container
creation times (tested on aufs and overlay2).

kolyshkin@:
- squashed commits
- added description
- protected CreateRWLayer against name collisions by
temporary assiging nil to ls.mounts[name], and treating
nil as "non-existent" in all the other functions.

Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2019-05-09 11:05:16 -07:00
..
empty.go Add canonical import comment 2018-02-05 16:51:57 -05:00
empty_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
filestore.go layer: relax graphdriver ID format 2018-06-10 10:05:26 -07:00
filestore_test.go Remove metadata store interface 2018-03-06 10:42:00 -08:00
filestore_unix.go Add canonical import comment 2018-02-05 16:51:57 -05:00
filestore_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
layer.go add ApplyDiff to RWLayer 2019-04-25 11:25:22 -04:00
layer_store.go layer: optimize layerStore mountL 2019-05-09 11:05:16 -07:00
layer_store_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00
layer_test.go Remove metadata store interface 2018-03-06 10:42:00 -08:00
layer_unix.go Add canonical import comment 2018-02-05 16:51:57 -05:00
layer_unix_test.go Add canonical import comment 2018-02-05 16:51:57 -05:00
layer_windows.go Fix a typos in layer_windows.go 2018-11-18 18:45:06 +08:00
migration.go layer: optimize layerStore mountL 2019-05-09 11:05:16 -07:00
migration_test.go Remove metadata store interface 2018-03-06 10:42:00 -08:00
mount_test.go add ApplyDiff to RWLayer 2019-04-25 11:25:22 -04:00
mounted_layer.go layer: protect mountedLayer.references 2019-05-06 10:49:59 -07:00
ro_layer.go daemon: access to distribution internals 2018-06-10 10:05:26 -07:00
ro_layer_windows.go Add canonical import comment 2018-02-05 16:51:57 -05:00