Lock fixing in Krita's tile manager.
Closed, ResolvedPublic

Description

There are 3 main locks which VTune shows for now:

  1. allocData and freeData in KisTileData
  2. KisTiledExtentManager in notifyTileAdded
  3. KisTileDataStore in register/unregisterTileData

Details

Commits
R37:5b220a44fd5e: Fixed problems with invalid extent.
R37:2ae46de8acb2: Changed extent manager migration logic for more straight forward one.
R37:82eb0e924308: Renamed update min/max functions.
R37:d5f4ed0a8169: Fixed broken clock iterator test and changed extent manager migration logic.
R37:5a594c145505: Fixed issue with race.
R37:cd4123b89aa0: Fixed issues with extent manager.
R37:95122a44b4d9: Code clean.
R37:2c56be9b521c: Fixed slow replace method and invalid decrement check in remove.
R37:308f6e660375: Fixed invalid extent in extent manager and zero iterator in clock iterator.
R37:65224a7f4b24: Added write lock on unsafe method.
R37:0cc2b20eeb7e: Removed comments and code clean.
R37:729cce167a66: Added cache purge on pool purge.
R37:c54bfc8400f0: Added cache clear on destructor call.
R37:1329945105c6: Removed unnecessary atomic types.
R37:39728530e8f8: Added rw lock for guarding extent.
R37:2f0d1c4daebb: Implemented separate class for cache.
R37:987478886345: Implemented migrations for KisTiledExtentManager.
R37:c73fab2e8fc9: Implemented clock iteration for swapping.
R37:c98c0b2ec23b: Changed list for map in KisTileDataStore
R37:48e488513c6e: Changed extent and cache.
R37:178b64532fa6: Added inner class in KisTiledExtentManager to store data.
R37:0d24f5141462: Added rw lock in updateExtent for more safety.
R37:dd63ac041978: Changed logic for extent manager.
R37:9d1078676894: Added dirty fix for KisTileDataStore.
R37:f897857ee71c: KisTiledExtentManager internal lock fixes.
R37:b0ad9decca14: Added simple cache for KisTileData.
lieroz created this task.Jul 4 2018, 5:10 PM
lieroz renamed this task from Lock fising in Krita's tile manager. to Lock fixing in Krita's tile manager..
lieroz moved this task from Backlog to Google Summer of Code on the Krita board.
dkazakov added a comment.EditedJul 25 2018, 12:30 PM

Currently known regressions:

  • TestSuite.krita-image-tiles3-kis_low_memory_tests
  • TestSuite.krita-image-kis_pixel_selection_test
  • TestSuite.krita-image-kis_crop_processing_visitor_test
  • TestSuite.krita-image-kis_processing_applicator_test
  • TestSuite.krita-image-kis_painter_test
  • TestSuite.krita-image-KisTransformWorkerTest
  • TestSuite.krita-image-KisProcessingsTest
lieroz closed this task as Resolved.Aug 14 2018, 1:11 PM