Mateusz Jablonski
f332bf369e
Set allocation's lock state only in lockResource and unlockResource methods
...
Change-Id: I60f35801287166f5bdb0dfcd31ff0118c56ec22a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2019-01-24 15:15:27 +01:00
Mateusz Jablonski
ad3bfd84cb
Add functionality to make resident before locking resource
...
Change-Id: I0963c1edcb43f409e9dd62cb46a0da1f2b05667b
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2019-01-22 08:28:12 +01:00
Zdunowski, Piotr
75a635fdc5
[1/n] Log allocation placement.
...
Change-Id: I9ab61e10dcb0fcbbaf859c077a64ce7a4f2c213c
2019-01-16 16:46:50 +01:00
Piotr Fusik
30dd15144c
Add debug variable to disable host ptr tracking.
...
Change-Id: Ifc866e06a4519e7590d40d8ad136147ecc80225d
2019-01-11 12:06:52 +01:00
Mateusz Jablonski
aee69779fa
Minor renaming in a scope of multi os context allocations:
...
shareable -> multiOsContextCapable
resetTaskCount -> releaseUsageInOsContext
resetResidencyTaskCount -> releaseResidencyInOsContext
isUsedByContext -> isUsedByOsContext
Change-Id: If824246a0e393b962bd12f8c63d429a0fcfcda25
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2019-01-07 11:42:43 +01:00
Mateusz Jablonski
1e011f9a08
Allow to allocate shareable graphics allocation
...
Change-Id: I284b03b001e5b67c344d46f34048803ef9a57314
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-12-20 20:14:57 +01:00
Mateusz Jablonski
c9e667d601
Simplify Memory Manager API [4/4]
...
- fill AllocationData in one place
- remove allocateGraphicsMemoryForSVM function
- refactor SVM manager tests
Change-Id: I6f4ecd70503da8031cced50ea98a54162fd8e5d3
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-12-20 09:01:33 +01:00
Hoppe, Mateusz
f6790c42cf
Refactor Graphics Allocation paths for Images
...
Change-Id: Ifa3084b18cac95289bbceeaf3669dd31567fbd3e
2018-12-19 13:49:53 +01:00
Mateusz Jablonski
8ec072d39c
Simplify Memory Manager API [3/4]
...
- remove method allocateGraphicsMemory(size_t size)
- pass allocation type in allocation properties
- set allocation type in allocateGraphicsMemoryInPreferredPool
Change-Id: Ia9296d0ab2f711b7d78aff615cb56b3a246b60ec
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-12-17 10:42:16 +01:00
Mateusz Jablonski
a6be6533ea
Simplify Memory Manager API [2/n]
...
- make AllocationData a protected structure
- use AllocationProperties instead of AllocationFlags
- refactor methods: allocateGraphicsMemory64kb, allocateGraphicsMemoryForSVM
- call AllocateGraphicsMemoryInPreferredPool in AllocateGraphicsMemory
where there is no host ptr
Change-Id: Ie9ca47b1bccacd00f8486e7d1bf6fb3985e5cb12
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-12-11 13:12:00 +01:00
Dunajski, Bartosz
c905dad62f
Improve checkGpuUsageAndDestroy method to work with multiple CSRs
...
Change-Id: I7b8325116c90151c6339f95a81880c467e81748f
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-12-11 10:26:50 +01:00
Mateusz Jablonski
c8748b77a0
Simplify memory manager API [1/n]
...
pass struct with properties to allocate graphics memory methods:
for protected methods use AllocationData
for public methods use AllocationProperties
Change-Id: Ie1c3cb6b5e330bc4adac2ca8b0bf02d30ec76065
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-12-06 15:09:25 +01:00
Dunajski, Bartosz
b728526c4e
Allow Device creating multiple CSRs [8/n]
...
Use OsContextId instead of DeviceIndex for residency
Change-Id: Ib2367b32b5b3e320252d8254f1042f1c3d497068
2018-12-04 15:36:59 +01:00
Dunajski, Bartosz
0131e66a70
Allow Device creating multiple CSRs [6/n]
...
- Introduce default Engine query
- Improve Deferred Deleter usage
- Remove Tag Allocation from Device
Change-Id: Iaa88d8dc0166325acf9a157dcd2217ea408ee285
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-11-29 16:20:13 +01:00
Maciej Dziuban
1cd59e927a
Store residency status for each osContext separately
...
Change-Id: I2f17f68dcef6db7b596a69579a435b7ccd24e44b
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-11-29 08:08:25 +01:00
Mateusz Jablonski
352450adaa
Pass number of os contexts to Graphics Allocation constructor
...
Mark unshareable allocations
Change-Id: Ie745dc639d8c6b01e2275d29ee1fb4c6343df2bc
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-11-21 17:38:02 +01:00
Mateusz Jablonski
66492a53a4
Change type of residency task count to uint32_t
...
Move definitions of objectNotUsed and objectNotResident to GraphicsAllocation
Change-Id: I2aec604a865cc6c975e9d1121028cbdd35c0b18a
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-11-16 16:04:48 +01:00
Maciej Dziuban
969d4da811
Cleanup WddmResidencyController related code
...
- Move trimCallback from WddmMemoryManager
- Refactor lastFenceValue accessors to be less generic
Change-Id: I01b31ccb81a5ecc04d07912061326428b07a59bf
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-11-16 08:34:18 +01:00
Maciej Dziuban
9bdedc62dd
Move residency functions to WddmResidencyController
...
Change-Id: Ic73a51546b3325515f293808550376fa6b57dec3
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-11-15 11:17:27 +01:00
Maciej Dziuban
b0acc5ecde
Move isMemoryBudgetExhausted to WddmResidencyController
...
Change-Id: Ic9da29ab954835e93cfbcd6690c1764d99939613
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-11-06 23:09:20 +01:00
Mateusz Jablonski
815ae851b7
Graphics Allocation: store task count per context id
...
Move definition of allocations list method to internal_allocation_storage.cpp
Change-Id: I4c6038df8fd1b9335e8a74edbab33b78f9293d8f
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-11-06 12:43:47 +01:00
Maciej Dziuban
42b2ed6a90
Register trimCallback with WddmResidencyController as Context
...
Change-Id: Ibc34aac17e79df3a3096c29c34506039e2c5bdcc
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-11-05 17:43:20 +01:00
Mrozek, Michal
8bec1906ec
Remove alignedCpuPtr from WddmAllocation
...
- also switch to make_unique in wddm memory manager functions.
Change-Id: I2f7cf412a993040439466f1971d935fb8429ce7c
2018-10-31 14:07:39 +01:00
Mrozek, Michal
200228b506
Replace cpuPtrAllocated flag with driverAllocatedCpuPointer.
...
Change-Id: Ic0ce165d0e583701e1128595a3d9dabd0a61a84b
2018-10-31 12:37:20 +01:00
Maciej Dziuban
9c696f1d29
Create STL-friendly SpinLock implementation
...
Change-Id: Ic04d34d2962ad6953fe3282a10f6cba16c0e07b3
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-31 08:38:32 +01:00
Mrozek, Michal
5b2e16651f
Remove alignedSize from WddmAllocation.
...
Change-Id: I3b610515e4d5db16ce6a604e7e2f4b85b657bef2
2018-10-31 08:30:50 +01:00
Mrozek, Michal
1dc3a94ac8
Remove not needed code.
...
Change-Id: I5b0fd2960ed7777bc7603013071a431af6d435c5
2018-10-30 15:40:08 +01:00
Maciej Dziuban
dc4de3c31b
Move trimResidency functions to WddmResidencyController
...
Change-Id: I046fd34d5336b767ed38eda31e58e4a35ceee5f8
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-29 12:19:50 +01:00
Mateusz Jablonski
129380c1a6
Cleanup host ptr manager
...
Change-Id: I0fc9df41a08255eef8072666c1c5c16806e0f7cf
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-10-26 08:26:38 +02:00
Maciej Dziuban
bd431edb46
Return trimCallbackHandle from register method instead of storing in Wddm
...
Change-Id: Iddfb6a926311480e355d52e5bf3e6379ec96f7a9
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-25 17:17:52 +02:00
Maciej Dziuban
f374696f1d
Move MonitoredFence to WddmResidencyController
...
Change-Id: Iac99e7d730fda26d13feed56d5e4c50adf115e51
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-24 09:35:42 +02:00
Maciej Dziuban
7fe0a0df06
Delete OsContext from FenceData
...
This decoupling is needed to move makeResidentResidencyAllocations into
WddmResidencyController, where we have only contextId, not the context itself
Change-Id: I0d79f1dc7a51fa6b1d713deb6e9003aa2b7be1d4
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-23 09:17:09 +02:00
Mrozek, Michal
77b00fa749
Do not execute trim callback if there are no registered contexts.
...
Change-Id: I9a274281a085cdbeb98a1d495ce9ef9ab897d08a
2018-10-22 18:53:13 +02:00
Mateusz Jablonski
7ec8e6a3f2
Fix naming convention in host ptr defines
...
Change-Id: I9f0d5790031b5067b92159b078768e560990b9c6
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-10-22 16:29:04 +02:00
Maciej Dziuban
44dd4c9145
Store vector of trim candidate list positions in WddmAllocation
...
Change-Id: I2fb247238802fc1ccd98e42d7714063f5231249f
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-22 11:50:09 +02:00
Maciej Dziuban
ac2c2763ab
Add osContextsCount argument to WddmAllocation's constructors
...
The argument is not anywhere yet, this is just a preparation
step for future change.
Change-Id: I5a441352cb5cf10d1a0ff31933041ff9521d0307
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-18 17:19:50 +02:00
Maciej Dziuban
de5ed6509f
Move WddmResidencyController to OsContext
...
Change-Id: If27d52617dec9b290b7eccc7cb4a6ae5037d7112
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-18 10:59:52 +02:00
Maciej Dziuban
9399215931
Unregister trim callback
...
Change-Id: Ia6592d259a573cbc7161443945d03f6a83e88181
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-16 16:55:15 +02:00
Maciej Dziuban
07e03af67e
Extract trimCandidatesList to WddmResidencyController
...
Change-Id: I8938ee79975caf9cb09f7183c87452dc94a6b3e6
2018-10-09 00:55:10 +02:00
Maciej Dziuban
b2dd8a9a1d
Create WddmResidencyController to encapsulate basic residency data
...
Change-Id: I6dd94405ca5ea3a13b137c1e0ead72e615d36e00
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-08 15:11:58 +02:00
Maciej Dziuban
bc4700a193
Add OsContext argument to MemoryManager::makeNonResidentEvictionAllocations
...
OsContext has to propagate through following calls first:
- WddmCommandStreamReceiver<GfxFamily>::processEviction
- CommandStreamReceiver::makeSurfacePackNonResident
Change-Id: I7559c7406b2860c51905c9961cec251fac231b08
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-10-05 01:28:31 +02:00
Mateusz Jablonski
77bbd2b89b
Don't access command stream receivers when vector is empty
...
Change-Id: I1011b94be1ec7f28b71659c27b09b93e577769e2
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-10-04 22:42:38 +02:00
Dunajski, Bartosz
2cd411227c
Improve PageTableManager creation
...
Change-Id: If359c76ae880fb2e1f56fc561aca761530787b5e
Signed-off-by: Dunajski, Bartosz <bartosz.dunajski@intel.com >
2018-10-03 22:37:05 +02:00
Mateusz Jablonski
b602cd2bb8
Pass execution environment to memory manager
...
Change-Id: If43cf9d1353b4cbc02ea269fb9105c01cc4e0876
Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com >
2018-10-03 22:12:26 +02:00
Maciej Dziuban
ea9e7bea31
Change MemoryManager::lastPeriodicTrimFenceValue to a vector
...
Also start registering OsContext to MemoryManager in
WddmMemoryManagerResidencyTest along with some cleanup in fixture's SetUp
Change-Id: I3f6763ae0cd9bf638cdc5dbbfbc60dfb0fd0ef05
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-09-28 06:33:12 +02:00
Maciej Dziuban
9804bddd46
Change makeResidentResidencyAllocations argument to a reference
...
Change-Id: I7e8a73fdbe5371e29a53ec34201eddb42cb7f20a
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-09-25 11:34:16 +02:00
Mrozek, Michal
e2ee839250
Limit unrecoverable scope.
...
Change-Id: I3967d64eb0fbae7d34268458568090c2305226f5
2018-09-24 12:41:59 -07:00
Artur Harasimiuk
40146291ad
Update copyright headers
...
Updating files modified in 2018 only. Older files remain with old style
copyright header
Change-Id: Ic99f2e190ad74b4b7f2bd79dd7b9fa5fbe36ec92
Signed-off-by: Artur Harasimiuk <artur.harasimiuk@intel.com >
2018-09-20 18:02:35 +02:00
Maciej Dziuban
da5a292e54
Delegate MemoryManager residency and eviction calls through CSR
...
MemoryManager::getEvictonAllocations()
MemoryManager::pushAllocationForEviction()
MemoryManager::clearEvictionAllocations()
MemoryManager::clearResidencyAllocations()
Change-Id: Iaa3051965bc9dfc09384e2bd5e9e0c372b5e722a
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-09-14 08:18:04 +02:00
Maciej Dziuban
f1a264e380
Get rid of processResidency() calls with null ResidencyContainer 3/n
...
Change-Id: I526cac86f7e4eb61f7962d1ddd33a5d029451111
Signed-off-by: Maciej Dziuban <maciej.dziuban@intel.com >
2018-09-12 06:43:49 +02:00