-
Notifications
You must be signed in to change notification settings - Fork 550
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
specs-go/config: add Core Scheduling support #1114
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -58,6 +58,8 @@ type Process struct { | |
OOMScoreAdj *int `json:"oomScoreAdj,omitempty" platform:"linux"` | ||
// SelinuxLabel specifies the selinux context that the container process is run as. | ||
SelinuxLabel string `json:"selinuxLabel,omitempty" platform:"linux"` | ||
// CoreSched specifies the Core Scheduling config options for the container. | ||
CoreSched *LinuxCoreSched `json:"coreSched,omitempty" platform:"linux"` | ||
} | ||
|
||
// LinuxCapabilities specifies the list of allowed capabilities that are kept for a process. | ||
|
@@ -75,6 +77,27 @@ type LinuxCapabilities struct { | |
Ambient []string `json:"ambient,omitempty" platform:"linux"` | ||
} | ||
|
||
// LinuxCoreSched defines the Core Scheduling config options for the container. | ||
type LinuxCoreSched struct { | ||
// Create controls whether to create a new unique cookie for the process in the container. | ||
Create bool `json:"create,omitempty" platform:"linux"` | ||
// ShareTo specifies the PIDs that the core_sched cookie of the current process should push to. | ||
ShareTo *LinuxCoreSchedPids `json:"shareTo,omitempty" platform:"linux"` | ||
// ShareFrom specifies the PIDs that the core_sched cookie of the current process should pull from. | ||
ShareFrom *LinuxCoreSchedPids `json:"shareFrom,omitempty" platform:"linux"` | ||
} | ||
|
||
// LinuxCoreSchedPids defines the PIDs that Core Scheduling supports for setting and copying 'task cookies'. | ||
// 'PID == 0' implies the current process. | ||
type LinuxCoreSchedPids struct { | ||
// Pids are the threads. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Did you mean processes? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. And in which PIDNS? |
||
Pids []int `json:"pids,omitempty" platform:"linux"` | ||
// Tgids are the processes. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Did you mean thread groups? |
||
Tgids []int `json:"tgids,omitempty" platform:"linux"` | ||
// Pgids are the process groups. | ||
Pgids []int `json:"pgids,omitempty" platform:"linux"` | ||
} | ||
|
||
// Box specifies dimensions of a rectangle. Used for specifying the size of a console. | ||
type Box struct { | ||
// Height is the vertical dimension of a box. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is "current?