mirror of
https://github.com/kubernetes/sample-controller.git
synced 2025-01-21 01:12:51 +08:00
a2f289abf2
Automatic merge from submit-queue (batch tested with PRs 55798, 49579, 54862, 55188, 51990). 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>. Add monitoring support for hardware accelerators Currently only NVIDIA GPU monitoring is implemented. Feature repo issue: https://github.com/kubernetes/features/issues/369 cAdvisor PR: https://github.com/google/cadvisor/pull/1762 /kind feature /sig node /sig instrumentation /area hw-accelerators **Release note**: ```release-note Kubelet now exposes metrics for NVIDIA GPUs attached to the containers. ``` Kubernetes-commit: 779105673ab2f00af9e02dc9ac3c6413588aeae4
30 lines
918 B
Go
30 lines
918 B
Go
// Copyright 2017 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
// Functions to access/create device major and minor numbers matching the
|
|
// encoding used in OpenBSD's sys/types.h header.
|
|
|
|
package unix
|
|
|
|
// Major returns the major component of an OpenBSD device number.
|
|
func Major(dev uint64) uint32 {
|
|
return uint32((dev & 0x0000ff00) >> 8)
|
|
}
|
|
|
|
// Minor returns the minor component of an OpenBSD device number.
|
|
func Minor(dev uint64) uint32 {
|
|
minor := uint32((dev & 0x000000ff) >> 0)
|
|
minor |= uint32((dev & 0xffff0000) >> 8)
|
|
return minor
|
|
}
|
|
|
|
// Mkdev returns an OpenBSD device number generated from the given major and minor
|
|
// components.
|
|
func Mkdev(major, minor uint32) uint64 {
|
|
dev := (uint64(major) << 8) & 0x0000ff00
|
|
dev |= (uint64(minor) << 8) & 0xffff0000
|
|
dev |= (uint64(minor) << 0) & 0x000000ff
|
|
return dev
|
|
}
|