Close preemption loop.
Prior to this change, whenever we preempted a job, the preempted job would be stopped, but then we wouldn't explicitly start the higher priority job until we re-evaluated all jobs and regenerated the pending job list. This was inefficient. Now, whenever a job finishes (via preemption or any other ending), JobConcurrencyManager will immediately give the JobServiceContext a new job to start, if limits allow. Bug: 178119369 Test: atest CtsJobSchedulerTestCases Test: atest FrameworksMockingServicesTests:JobSchedulerServiceTest Test: atest FrameworksServicesTests:PrioritySchedulingTest Test: atest FrameworksServicesTests:WorkCountTrackerTest Test: atest FrameworksServicesTests:WorkTypeConfigTest Change-Id: I00a1aca6a3ec42cf6b62712313fa4d1698e34f51
Loading
Please register or sign in to comment