kubernetes/pkg/scheduler/core
Kubernetes Submit Queue b8dff0b4f1
Merge pull request #63975 from godliness/lock-optimization
Automatic merge from submit-queue (batch tested with PRs 63434, 64172, 63975, 64180, 63755). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Optimize the lock which in the RunPredicate

**What this PR does / why we need it**:


Enhance the performance of scheduler

-  Change the lock in the RunPredicate from lock to rlock




**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:

Could solve part of #63784 

**Special notes for your reviewer**:

_Run benchmark test by scheduler_perf_:
`Before`  BenchmarkScheduling/1000Nodes/0Pods-32     1000    11689758 ns/op
`After`     BenchmarkScheduling/1000Nodes/0Pods-32     1000    5951510 ns/op

_Run integration (density) test by scheduler_perf_:
Schedule 3000 Pods On 3000 Nodes
`Before`  rate  19 per second on average
`After`     rate  58 per second on average

_Cpu profile test result_:
`Before`  [click](https://cdn.rawgit.com/godliness/files/master/63784_before.svg)
`After`     [click](https://cdn.rawgit.com/godliness/files/master/63784_after.svg)

**Release note**:

```release-note
`None`
```

/sig scheduling

/cc @misterikkit 
/cc @bsalamat
/cc @ravisantoshgudimetla 
/cc @resouer
2018-05-24 12:18:17 -07:00
..
BUILD remove unused code of (pkg/scheduler) 2018-05-18 23:48:43 +08:00
equivalence_cache.go Optimize the lock which in the RunPredicate 2018-05-24 10:41:19 +08:00
equivalence_cache_test.go Merge pull request #63975 from godliness/lock-optimization 2018-05-24 12:18:17 -07:00
extender.go Add Ignorable flag to extender 2018-03-30 15:10:31 -07:00
extender_test.go remove unused code of (pkg/scheduler) 2018-05-18 23:48:43 +08:00
generic_scheduler.go Simplify logic in podFitsOnNode. 2018-04-27 15:55:10 -07:00
generic_scheduler_test.go Check for old NodeInfo when updating equiv. cache. 2018-04-25 10:18:40 -07:00
scheduling_queue.go Do not schedule pod to the node under PID pressure. 2018-04-26 10:07:42 +08:00
scheduling_queue_test.go Make the Unschedulable Queue interface private 2018-02-21 13:53:40 -08:00