Files
kubernetes/pkg/kubelet
Kubernetes Submit Queue fca65dcd64 Merge pull request #62464 from choury/fix-double-rlock-in-cpumanger
Automatic merge from submit-queue. 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>.

avoid dobule RLock() in cpumanager

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

We met a deadlock when removing pod.
kubelet keeps logging:
```
Pod "xxxx" is terminated, but some containers are still running 
```
After debug, we found it stuck in `SetDefaultCPUSet` [here](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/cm/cpumanager/policy_static.go#L184)  while another goroutine are calling `GetCPUSetOrDefault` [here](https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/cm/cpumanager/cpu_manager.go#L256).

According  golang/go#15418, It is not safe to double RLock a RWMutex.

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

none

**Special notes for your reviewer**:

**Release note**:

```release-note
removed unsafe double RLock in cpumanager
```
2018-04-23 16:31:57 -07:00
..
2018-03-27 09:29:35 -07:00
2018-04-23 10:33:40 +08:00
2018-02-23 01:42:35 +00:00
2018-04-11 09:26:02 -07:00
2018-02-16 13:43:01 -08:00
2018-04-11 09:26:02 -07:00
2018-04-11 18:35:24 +02:00
2018-04-18 09:55:57 -07:00
2018-02-24 17:39:21 +08:00
2018-04-18 09:55:57 -07:00
2018-02-20 10:38:41 -05:00
2018-01-29 21:44:54 -08:00