kubernetes/pkg/controller/nodelifecycle
Madhav Jivrajani 3c0bc26d90 controller/nodelifecycle: Refactor to not make API calls under lock
The evictorLock only protects zonePodEvictor and zoneNoExecuteTainter.
processTaintBaseEviction showed indications of increased lock contention
among goroutines (see issue 110341 for more details).

The refactor done is to ensure that all codepaths in that function that
hold the evictorLock AND make API calls under the lock, are now making
API calls outside the lock and the lock is held only for accessing either
zonePodEvictor or zoneNoExecuteTainter or both.

Two other places where the refactor was done is the doEvictionPass and
doNoExecuteTaintingPass functions which make multiple API calls under
the evictorLock.

Signed-off-by: Madhav Jivrajani <madhav.jiv@gmail.com>
2022-07-25 15:16:26 +05:30
..
config OWNERS cleanup - Jan 2021 Week 1 2022-01-10 08:14:29 -05:00
scheduler Merge pull request #108089 from mysunshine92/nodeController-20220212 2022-05-07 03:33:18 -07:00
metrics.go adding evictions_total metric and marking evictions_number deprecated 2021-12-13 10:36:02 +08:00
node_lifecycle_controller_test.go move pkg/util/node to component-helpers/node/util (#105347) 2021-11-12 07:52:27 -08:00
node_lifecycle_controller.go controller/nodelifecycle: Refactor to not make API calls under lock 2022-07-25 15:16:26 +05:30
OWNERS Cleanup OWNERS files (No Activity in the last year) 2021-12-15 10:34:02 -05:00