@ -2,15 +2,25 @@
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" >
< html xmlns = "http://www.w3.org/1999/xhtml" xml:lang = "en" >
< head >
< head >
< meta http-equiv = "Content-Type" content = " text/ht ml; charset=UTF-8" / >
< meta http-equiv = "Content-Type" content = " application/xhtml+x ml; charset=UTF-8" / >
< meta name = "generator" content = "AsciiDoc 8. 4.5 " / >
< meta name = "generator" content = "AsciiDoc 8. 6.8 " / >
< title > cset-shield(1)< / title >
< title > cset-shield(1)< / title >
< style type = "text/css" >
< style type = "text/css" >
/* Debug borders */
/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
p, li, dt, dd, div, pre, h1, h2, h3, h4, h5, h6 {
/*
/* Default font. */
border: 1px solid red;
body {
*/
font-family: Georgia,serif;
}
/* Title font. */
h1, h2, h3, h4, h5, h6,
div.title, caption.title,
thead, p.table.header,
#toctitle,
#author, #revnumber, #revdate, #revremark,
#footer {
font-family: Arial,Helvetica,sans-serif;
}
}
body {
body {
@ -35,13 +45,8 @@ strong {
color: #083194;
color: #083194;
}
}
tt {
color: navy;
}
h1, h2, h3, h4, h5, h6 {
h1, h2, h3, h4, h5, h6 {
color: #527bbd;
color: #527bbd;
font-family: sans-serif;
margin-top: 1.2em;
margin-top: 1.2em;
margin-bottom: 0.5em;
margin-bottom: 0.5em;
line-height: 1.3;
line-height: 1.3;
@ -59,9 +64,11 @@ h3 {
h3 + * {
h3 + * {
clear: left;
clear: left;
}
}
h5 {
font-size: 1.0em;
}
div.sectionbody {
div.sectionbody {
font-family: serif;
margin-left: 0;
margin-left: 0;
}
}
@ -77,53 +84,58 @@ p {
ul, ol, li > p {
ul, ol, li > p {
margin-top: 0;
margin-top: 0;
}
}
ul > li { color: #aaa; }
ul > li > * { color: black; }
pre {
.monospaced, code, pre {
font-family: "Courier New", Courier, monospace;
font-size: inherit;
color: navy;
padding: 0;
padding: 0;
margin: 0;
margin: 0;
}
}
span#author {
#author {
color: #527bbd;
color: #527bbd;
font-family: sans-serif;
font-weight: bold;
font-weight: bold;
font-size: 1.1em;
font-size: 1.1em;
}
}
span #email {
#email {
}
}
span#revnumber, span#revdate, span#revremark {
#revnumber, #revdate, #revremark {
font-family: sans-serif;
}
}
div#footer {
#footer {
font-family: sans-serif;
font-size: small;
font-size: small;
border-top: 2px solid silver;
border-top: 2px solid silver;
padding-top: 0.5em;
padding-top: 0.5em;
margin-top: 4.0em;
margin-top: 4.0em;
}
}
div #footer-text {
#footer-text {
float: left;
float: left;
padding-bottom: 0.5em;
padding-bottom: 0.5em;
}
}
div #footer-badges {
#footer-badges {
float: right;
float: right;
padding-bottom: 0.5em;
padding-bottom: 0.5em;
}
}
div #preamble {
#preamble {
margin-top: 1.5em;
margin-top: 1.5em;
margin-bottom: 1.5em;
margin-bottom: 1.5em;
}
}
div.tableblock, div.imageblock, div.exampleblock, div.verseblock,
div.imageblock, div.exampleblock, div.verseblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
div.admonitionblock {
div.admonitionblock {
margin-top: 1.5 em;
margin-top: 1.0 em;
margin-bottom: 1.5em;
margin-bottom: 1.5em;
}
}
div.admonitionblock {
div.admonitionblock {
margin-top: 2.5em;
margin-top: 2.0em;
margin-bottom: 2.5em;
margin-bottom: 2.0em;
margin-right: 10%;
color: #606060;
}
}
div.content { /* Block element content. */
div.content { /* Block element content. */
@ -133,7 +145,6 @@ div.content { /* Block element content. */
/* Block element titles. */
/* Block element titles. */
div.title, caption.title {
div.title, caption.title {
color: #527bbd;
color: #527bbd;
font-family: sans-serif;
font-weight: bold;
font-weight: bold;
text-align: left;
text-align: left;
margin-top: 1.0em;
margin-top: 1.0em;
@ -155,31 +166,34 @@ div.content + div.title {
div.sidebarblock > div.content {
div.sidebarblock > div.content {
background: #ffffee;
background: #ffffee;
border: 1px solid silver;
border: 1px solid #dddddd;
border-left: 4px solid #f0f0f0;
padding: 0.5em;
padding: 0.5em;
}
}
div.listingblock > div.content {
div.listingblock > div.content {
border: 1px solid silver;
border: 1px solid #dddddd;
background: #f4f4f4;
border-left: 5px solid #f0f0f0;
background: #f8f8f8;
padding: 0.5em;
padding: 0.5em;
}
}
div.quoteblock {
div.quoteblock, div.verseblock {
padding-left: 2.0em;
padding-left: 1.0em;
margin-left: 1.0em;
margin-right: 10%;
margin-right: 10%;
border-left: 5px solid #f0f0f0;
color: #888;
}
}
div.quoteblock > div.attribution {
div.quoteblock > div.attribution {
padding-top: 0.5em;
padding-top: 0.5em;
text-align: right;
text-align: right;
}
}
div.verseblock {
div.verseblock > pre.content {
padding-left: 2.0em;
font-family: inherit;
margin-right: 10%;
font-size: inherit;
}
div.verseblock > div.content {
white-space: pre;
}
}
div.verseblock > div.attribution {
div.verseblock > div.attribution {
padding-top: 0.75em;
padding-top: 0.75em;
@ -200,12 +214,12 @@ div.admonitionblock .icon {
}
}
div.admonitionblock td.content {
div.admonitionblock td.content {
padding-left: 0.5em;
padding-left: 0.5em;
border-left: 2px solid silver ;
border-left: 3px solid #dddddd ;
}
}
div.exampleblock > div.content {
div.exampleblock > div.content {
border-left: 2px solid silver ;
border-left: 3px solid #dddddd ;
padding: 0.5em;
padding-left : 0.5em;
}
}
div.imageblock div.content { padding-left: 0; }
div.imageblock div.content { padding-left: 0; }
@ -252,35 +266,12 @@ div.compact div, div.compact div {
margin-bottom: 0.1em;
margin-bottom: 0.1em;
}
}
div.tableblock > table {
border: 3px solid #527bbd;
}
thead {
font-family: sans-serif;
font-weight: bold;
}
tfoot {
tfoot {
font-weight: bold;
font-weight: bold;
}
}
td > div.verse {
td > div.verse {
white-space: pre;
white-space: pre;
}
}
p.table {
margin-top: 0;
}
/* Because the table frame attribute is overriden by CSS in most browsers. */
div.tableblock > table[frame="void"] {
border-style: none;
}
div.tableblock > table[frame="hsides"] {
border-left-style: none;
border-right-style: none;
}
div.tableblock > table[frame="vsides"] {
border-top-style: none;
border-bottom-style: none;
}
div.hdlist {
div.hdlist {
margin-top: 0.8em;
margin-top: 0.8em;
@ -310,20 +301,59 @@ div.hdlist.compact tr {
background: yellow;
background: yellow;
}
}
.footnote, .footnoteref {
font-size: 0.8em;
}
span.footnote, span.footnoteref {
vertical-align: super;
}
#footnotes {
margin: 20px 0 20px 0;
padding: 7px 0 0 0;
}
#footnotes div.footnote {
margin: 0 0 5px 0;
}
#footnotes hr {
border: none;
border-top: 1px solid silver;
height: 1px;
text-align: left;
margin-left: 0;
width: 20%;
min-width: 100px;
}
div.colist td {
padding-right: 0.5em;
padding-bottom: 0.3em;
vertical-align: top;
}
div.colist td img {
margin-top: 0.3em;
}
@media print {
@media print {
div#footer-badges { display: none; }
#footer-badges { display: none; }
}
}
div#toctitle {
#toc {
margin-bottom: 2.5em;
}
#toctitle {
color: #527bbd;
color: #527bbd;
font-family: sans-serif;
font-size: 1.1em;
font-size: 1.1em;
font-weight: bold;
font-weight: bold;
margin-top: 1.0em;
margin-top: 1.0em;
margin-bottom: 0.1em;
margin-bottom: 0.1em;
}
}
div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
div.toclevel0, div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
margin-top: 0;
margin-top: 0;
margin-bottom: 0;
margin-bottom: 0;
}
}
@ -339,68 +369,367 @@ div.toclevel4 {
margin-left: 6em;
margin-left: 6em;
font-size: 0.9em;
font-size: 0.9em;
}
}
/* Overrides for manpage documents */
h1 {
span.aqua { color: aqua; }
span.black { color: black; }
span.blue { color: blue; }
span.fuchsia { color: fuchsia; }
span.gray { color: gray; }
span.green { color: green; }
span.lime { color: lime; }
span.maroon { color: maroon; }
span.navy { color: navy; }
span.olive { color: olive; }
span.purple { color: purple; }
span.red { color: red; }
span.silver { color: silver; }
span.teal { color: teal; }
span.white { color: white; }
span.yellow { color: yellow; }
span.aqua-background { background: aqua; }
span.black-background { background: black; }
span.blue-background { background: blue; }
span.fuchsia-background { background: fuchsia; }
span.gray-background { background: gray; }
span.green-background { background: green; }
span.lime-background { background: lime; }
span.maroon-background { background: maroon; }
span.navy-background { background: navy; }
span.olive-background { background: olive; }
span.purple-background { background: purple; }
span.red-background { background: red; }
span.silver-background { background: silver; }
span.teal-background { background: teal; }
span.white-background { background: white; }
span.yellow-background { background: yellow; }
span.big { font-size: 2em; }
span.small { font-size: 0.6em; }
span.underline { text-decoration: underline; }
span.overline { text-decoration: overline; }
span.line-through { text-decoration: line-through; }
div.unbreakable { page-break-inside: avoid; }
/*
* xhtml11 specific
*
* */
div.tableblock {
margin-top: 1.0em;
margin-bottom: 1.5em;
}
div.tableblock > table {
border: 3px solid #527bbd;
}
thead, p.table.header {
font-weight: bold;
color: #527bbd;
}
p.table {
margin-top: 0;
}
/* Because the table frame attribute is overriden by CSS in most browsers. */
div.tableblock > table[frame="void"] {
border-style: none;
}
div.tableblock > table[frame="hsides"] {
border-left-style: none;
border-right-style: none;
}
div.tableblock > table[frame="vsides"] {
border-top-style: none;
border-bottom-style: none;
}
/*
* html5 specific
*
* */
table.tableblock {
margin-top: 1.0em;
margin-bottom: 1.5em;
}
thead, p.tableblock.header {
font-weight: bold;
color: #527bbd;
}
p.tableblock {
margin-top: 0;
}
table.tableblock {
border-width: 3px;
border-spacing: 0px;
border-style: solid;
border-color: #527bbd;
border-collapse: collapse;
}
th.tableblock, td.tableblock {
border-width: 1px;
padding: 4px;
border-style: solid;
border-color: #527bbd;
}
table.tableblock.frame-topbot {
border-left-style: hidden;
border-right-style: hidden;
}
table.tableblock.frame-sides {
border-top-style: hidden;
border-bottom-style: hidden;
}
table.tableblock.frame-none {
border-style: hidden;
}
th.tableblock.halign-left, td.tableblock.halign-left {
text-align: left;
}
th.tableblock.halign-center, td.tableblock.halign-center {
text-align: center;
}
th.tableblock.halign-right, td.tableblock.halign-right {
text-align: right;
}
th.tableblock.valign-top, td.tableblock.valign-top {
vertical-align: top;
}
th.tableblock.valign-middle, td.tableblock.valign-middle {
vertical-align: middle;
}
th.tableblock.valign-bottom, td.tableblock.valign-bottom {
vertical-align: bottom;
}
/*
* manpage specific
*
* */
body.manpage h1 {
padding-top: 0.5em;
padding-top: 0.5em;
padding-bottom: 0.5em;
padding-bottom: 0.5em;
border-top: 2px solid silver;
border-top: 2px solid silver;
border-bottom: 2px solid silver;
border-bottom: 2px solid silver;
}
}
h2 {
body.manpage h2 {
border-style: none;
border-style: none;
}
}
div.sectionbody {
body.manpage div.sectionbody {
margin-left: 5%;
margin-left: 3em ;
}
}
@media print {
@media print {
div#toc { display: none; }
body.manpage div#toc { display: none; }
}
}
/* Workarounds for IE6's broken and incomplete CSS2. */
div.sidebar-content {
< / style >
background: #ffffee;
< script type = "text/javascript" >
border: 1px solid silver;
/*< ![CDATA[*/
padding: 0.5em;
var asciidoc = { // Namespace.
/////////////////////////////////////////////////////////////////////
// Table Of Contents generator
/////////////////////////////////////////////////////////////////////
/* Author: Mihai Bazon, September 2002
* http://students.infoiasi.ro/~mishoo
*
* Table Of Content generator
* Version: 0.4
*
* Feel free to use this script under the terms of the GNU General Public
* License, as long as you do not remove or alter this notice.
*/
/* modified by Troy D. Hanson, September 2006. License: GPL */
/* modified by Stuart Rackham, 2006, 2009. License: GPL */
// toclevels = 1..4.
toc: function (toclevels) {
function getText(el) {
var text = "";
for (var i = el.firstChild; i != null; i = i.nextSibling) {
if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
text += i.data;
else if (i.firstChild != null)
text += getText(i);
}
}
div.sidebar-title, div.image-title {
return text;
color: #527bbd;
font-family: sans-serif;
font-weight: bold;
margin-top: 0.0em;
margin-bottom: 0.5em;
}
}
div.listingblock div.content {
function TocEntry(el, text, toclevel) {
border: 1px solid silver;
this.element = el;
background: #f4f4f4;
this.text = text;
padding: 0.5em;
this.toclevel = toclevel ;
}
}
div.quoteblock-attribution {
function tocEntries(el, toclevels) {
padding-top: 0.5em;
var result = new Array;
text-align: right;
var re = new RegExp('[hH]([1-'+(toclevels+1)+'])');
// Function that scans the DOM tree for header elements (the DOM2
// nodeIterator API would be a better technique but not supported by all
// browsers).
var iterate = function (el) {
for (var i = el.firstChild; i != null; i = i.nextSibling) {
if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
var mo = re.exec(i.tagName);
if (mo & & (i.getAttribute("class") || i.getAttribute("className")) != "float") {
result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
}
iterate(i);
}
}
}
iterate(el);
return result;
}
}
div.verseblock-content {
var toc = document.getElementById("toc");
white-space: pre;
if (!toc) {
return;
}
}
div.verseblock-attribution {
padding-top: 0.75em;
// Delete existing TOC entries in case we're reloading the TOC.
text-align: left;
var tocEntriesToRemove = [];
var i;
for (i = 0; i < toc.childNodes.length ; i + + ) {
var entry = toc.childNodes[i];
if (entry.nodeName.toLowerCase() == 'div'
& & entry.getAttribute("class")
& & entry.getAttribute("class").match(/^toclevel/))
tocEntriesToRemove.push(entry);
}
for (i = 0; i < tocEntriesToRemove.length ; i + + ) {
toc.removeChild(tocEntriesToRemove[i]);
}
}
div.exampleblock-content {
// Rebuild TOC entries.
border-left: 2px solid silver;
var entries = tocEntries(document.getElementById("content"), toclevels);
padding-left: 0.5em;
for (var i = 0; i < entries.length ; + + i ) {
var entry = entries[i];
if (entry.element.id == "")
entry.element.id = "_toc_" + i;
var a = document.createElement("a");
a.href = "#" + entry.element.id;
a.appendChild(document.createTextNode(entry.text));
var div = document.createElement("div");
div.appendChild(a);
div.className = "toclevel" + entry.toclevel;
toc.appendChild(div);
}
if (entries.length == 0)
toc.parentNode.removeChild(toc);
},
/////////////////////////////////////////////////////////////////////
// Footnotes generator
/////////////////////////////////////////////////////////////////////
/* Based on footnote generation code from:
* http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
*/
footnotes: function () {
// Delete existing footnote entries in case we're reloading the footnodes.
var i;
var noteholder = document.getElementById("footnotes");
if (!noteholder) {
return;
}
var entriesToRemove = [];
for (i = 0; i < noteholder.childNodes.length ; i + + ) {
var entry = noteholder.childNodes[i];
if (entry.nodeName.toLowerCase() == 'div' & & entry.getAttribute("class") == "footnote")
entriesToRemove.push(entry);
}
for (i = 0; i < entriesToRemove.length ; i + + ) {
noteholder.removeChild(entriesToRemove[i]);
}
}
/* IE6 sets dynamically generated links as visited. */
// Rebuild footnote entries.
div#toc a:visited { color: blue; }
var cont = document.getElementById("content");
< / style >
var spans = cont.getElementsByTagName("span");
var refs = {};
var n = 0;
for (i=0; i< spans.length ; i + + ) {
if (spans[i].className == "footnote") {
n++;
var note = spans[i].getAttribute("data-note");
if (!note) {
// Use [\s\S] in place of . so multi-line matches work.
// Because JavaScript has no s (dotall) regex flag.
note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
spans[i].innerHTML =
"[< a id = '_footnoteref_" + n + "' href = '#_footnote_" + n +
"' title='View footnote' class='footnote'>" + n + "< / a > ]";
spans[i].setAttribute("data-note", note);
}
noteholder.innerHTML +=
"< div class = 'footnote' id = '_footnote_" + n + "' > " +
"< a href = '#_footnoteref_" + n + "' title = 'Return to text' > " +
n + "< / a > . " + note + "< / div > ";
var id =spans[i].getAttribute("id");
if (id != null) refs["#"+id] = n;
}
}
if (n == 0)
noteholder.parentNode.removeChild(noteholder);
else {
// Process footnoterefs.
for (i=0; i< spans.length ; i + + ) {
if (spans[i].className == "footnoteref") {
var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
href = href.match(/#.*/)[0]; // Because IE return full URL.
n = refs[href];
spans[i].innerHTML =
"[< a href = '#_footnote_" + n +
"' title='View footnote' class='footnote'>" + n + "< / a > ]";
}
}
}
},
install: function(toclevels) {
var timerId;
function reinstall() {
asciidoc.footnotes();
if (toclevels) {
asciidoc.toc(toclevels);
}
}
function reinstallAndRemoveTimer() {
clearInterval(timerId);
reinstall();
}
timerId = setInterval(reinstall, 500);
if (document.addEventListener)
document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
else
window.onload = reinstallAndRemoveTimer;
}
}
asciidoc.install();
/*]]>*/
< / script >
< / head >
< / head >
< body >
< body class = "manpage" >
< div id = "header" >
< div id = "header" >
< h1 >
< h1 >
cset-shield(1) Manual Page
cset-shield(1) Manual Page
@ -412,10 +741,12 @@ cset-shield(1) Manual Page
< / p >
< / p >
< / div >
< / div >
< / div >
< / div >
< div id = "content" >
< div class = "sect1" >
< h2 id = "_synopsis" > SYNOPSIS< / h2 >
< h2 id = "_synopsis" > SYNOPSIS< / h2 >
< div class = "sectionbody" >
< div class = "sectionbody" >
< div class = "verseblock" >
< div class = "verseblock" >
< div class = "verseblock- content"> < em > cset< / em > [cset options] < em > shield< / em > [shield options] [args]
< pre class = " content"> < em > cset< / em > [cset options] < em > shield< / em > [shield options] [args]
< em > cset< / em > shield --help
< em > cset< / em > shield --help
< em > cset< / em > shield
< em > cset< / em > shield
< em > cset< / em > shield --cpu 1-7
< em > cset< / em > shield --cpu 1-7
@ -426,10 +757,12 @@ cset-shield(1) Manual Page
< em > cset< / em > shield --unshield --pid 6000-8500
< em > cset< / em > shield --unshield --pid 6000-8500
< em > cset< / em > shield --kthread=off
< em > cset< / em > shield --kthread=off
< em > cset< / em > shield --kthread=on
< em > cset< / em > shield --kthread=on
< em > cset< / em > shield --shield bash< / div >
< em > cset< / em > shield --shield bash< / pre >
< div class = " verseblock- attribution">
< div class = " attribution">
< / div > < / div >
< / div > < / div >
< / div >
< / div >
< / div >
< div class = "sect1" >
< h2 id = "_options" > OPTIONS< / h2 >
< h2 id = "_options" > OPTIONS< / h2 >
< div class = "sectionbody" >
< div class = "sectionbody" >
< div class = "dlist" > < dl >
< div class = "dlist" > < dl >
@ -550,6 +883,8 @@ cset-shield(1) Manual Page
< / dd >
< / dd >
< / dl > < / div >
< / dl > < / div >
< / div >
< / div >
< / div >
< div class = "sect1" >
< h2 id = "_description" > DESCRIPTION< / h2 >
< h2 id = "_description" > DESCRIPTION< / h2 >
< div class = "sectionbody" >
< div class = "sectionbody" >
< div class = "paragraph" > < p > This is a supercommand that creates basic cpu shielding. The
< div class = "paragraph" > < p > This is a supercommand that creates basic cpu shielding. The
@ -588,7 +923,7 @@ is running in initially when using the --shield subcommand.</td>
be under the shield (this means assigned to the user cpuset, all
be under the shield (this means assigned to the user cpuset, all
other cpus will be assigned to the system set).< / p > < / div >
other cpus will be assigned to the system set).< / p > < / div >
< div class = "paragraph" > < p > For example:< / p > < / div >
< div class = "paragraph" > < p > For example:< / p > < / div >
< div class = "paragraph" > < p > < strong > < tt> # cset shield --cpu=1-3< / tt > < / strong > < / p > < / div >
< div class = "paragraph" > < p > < strong > < code> # cset shield --cpu=1-3< / code > < / strong > < / p > < / div >
< div class = "paragraph" > < p > On a 4-way machine, this command will dedicate the first
< div class = "paragraph" > < p > On a 4-way machine, this command will dedicate the first
processor, CPU0, for the system set (unshielded) and the last
processor, CPU0, for the system set (unshielded) and the last
three processors, CPU1, CPU2, CPU3, for the user set (shielded).< / p > < / div >
three processors, CPU1, CPU2, CPU3, for the user set (shielded).< / p > < / div >
@ -601,7 +936,7 @@ cpuset.</p></div>
unshielded and shielded sets respectively, or if those names are
unshielded and shielded sets respectively, or if those names are
used already, then use the --sysset and --userset options.< / p > < / div >
used already, then use the --sysset and --userset options.< / p > < / div >
< div class = "paragraph" > < p > For example:< / p > < / div >
< div class = "paragraph" > < p > For example:< / p > < / div >
< div class = "paragraph" > < p > < strong > < tt > # cset shield --sysset=free --userset=cage --cpu=2,3 --kthread=on< / tt > < / strong > < / p > < / div >
< div class = "paragraph" > < p > < strong > < code > # cset shield --sysset=free --userset=cage --cpu=2,3 --kthread=on< / code > < / strong > < / p > < / div >
< div class = "paragraph" > < p > The above command will use the name "free" for the unshielded
< div class = "paragraph" > < p > The above command will use the name "free" for the unshielded
system cpuset, the name "cage" for the shielded user cpuset,
system cpuset, the name "cage" for the shielded user cpuset,
initialize these cpusets and dedicate CPU0 and CPU1 to the "free"
initialize these cpusets and dedicate CPU0 and CPU1 to the "free"
@ -626,7 +961,7 @@ subcommand and the --pid option.</p></div>
traditional "--" marker to separate cset’ s options from your
traditional "--" marker to separate cset’ s options from your
command’ s options.< / p > < / div >
command’ s options.< / p > < / div >
< div class = "paragraph" > < p > For example:< / p > < / div >
< div class = "paragraph" > < p > For example:< / p > < / div >
< div class = "paragraph" > < p > < strong > < tt > # cset shield --exec  —   ls -l< / tt > < / strong > < / p > < / div >
< div class = "paragraph" > < p > < strong > < code > # cset shield --exec  —   ls -l< / code > < / strong > < / p > < / div >
< div class = "paragraph" > < p > This command will execute "ls -l" inside the shield.< / p > < / div >
< div class = "paragraph" > < p > This command will execute "ls -l" inside the shield.< / p > < / div >
< div class = "paragraph" > < p > The PIDSPEC argument taken for the --pid (or -p) option is a
< div class = "paragraph" > < p > The PIDSPEC argument taken for the --pid (or -p) option is a
comma separated list of PIDs or TIDs. The list can also include
comma separated list of PIDs or TIDs. The list can also include
@ -634,10 +969,10 @@ brackets of PIDs or TIDs that are inclusive of the endpoints.</p></div>
< div class = "paragraph" > < p > For example:< / p > < / div >
< div class = "paragraph" > < p > For example:< / p > < / div >
< div class = "literalblock" >
< div class = "literalblock" >
< div class = "content" >
< div class = "content" >
< pre > < tt > 1,2,5 Means processes 1, 2 and 5
< pre > < code > 1,2,5 Means processes 1, 2 and 5
1,2,600-700 Means processes 1, 2 and from 600 to 700< / tt > < / pre >
1,2,600-700 Means processes 1, 2 and from 600 to 700< / code > < / pre >
< / div > < / div >
< / div > < / div >
< div class = "paragraph" > < p > < strong > < tt> # cset shield --shield --pid=50-65< / tt > < / strong > < / p > < / div >
< div class = "paragraph" > < p > < strong > < code> # cset shield --shield --pid=50-65< / code > < / strong > < / p > < / div >
< div class = "paragraph" > < p > The above command moves all processes and threads with PID or TID
< div class = "paragraph" > < p > The above command moves all processes and threads with PID or TID
in the range 50-65 inclusive, from the system cpuset into the
in the range 50-65 inclusive, from the system cpuset into the
shielded user cpuset. If they are running in the root cpuset,
shielded user cpuset. If they are running in the root cpuset,
@ -657,7 +992,7 @@ then only that process will be moved.</td>
< div class = "paragraph" > < p > The --unshield (or -u) subcommand will remove the specified
< div class = "paragraph" > < p > The --unshield (or -u) subcommand will remove the specified
processes or threads from the shielded cpuset and move them into
processes or threads from the shielded cpuset and move them into
the unshielded (or system) cpuset. This command is also used in
the unshielded (or system) cpuset. This command is also used in
conjuction with a -p/--pid option that specifies a PIDSPEC
conjun ction with a -p/--pid option that specifies a PIDSPEC
argument, the same as for the --shield subcommand.< / p > < / div >
argument, the same as for the --shield subcommand.< / p > < / div >
< div class = "paragraph" > < p > Both the --shield and the --unshield commands will also finally
< div class = "paragraph" > < p > Both the --shield and the --unshield commands will also finally
output the number of tasks running in the shield and out of the
output the number of tasks running in the shield and out of the
@ -674,7 +1009,7 @@ initialized.</p></div>
< div class = "paragraph" > < p > For example if the original shield contained CPU0 and CPU1 in the
< div class = "paragraph" > < p > For example if the original shield contained CPU0 and CPU1 in the
system set and CPU2 and CPU3 in the user set, if you then issue
system set and CPU2 and CPU3 in the user set, if you then issue
the following command:< / p > < / div >
the following command:< / p > < / div >
< div class = "paragraph" > < p > < strong > < tt> # cset shield --cpu=1,2,3< / tt > < / strong > < / p > < / div >
< div class = "paragraph" > < p > < strong > < code> # cset shield --cpu=1,2,3< / code > < / strong > < / p > < / div >
< div class = "paragraph" > < p > then that command will move CPU1 into the shielded "user" cpuset.
< div class = "paragraph" > < p > then that command will move CPU1 into the shielded "user" cpuset.
Any processes or threads that were running on CPU1 that belonged
Any processes or threads that were running on CPU1 that belonged
to the unshielded "system" cpuset are migrated to CPU0 by the
to the unshielded "system" cpuset are migrated to CPU0 by the
@ -700,18 +1035,26 @@ and proc) directly.</td>
< / tr > < / table >
< / tr > < / table >
< / div >
< / div >
< / div >
< / div >
< / div >
< div class = "sect1" >
< h2 id = "_license" > LICENSE< / h2 >
< h2 id = "_license" > LICENSE< / h2 >
< div class = "sectionbody" >
< div class = "sectionbody" >
< div class = "paragraph" > < p > Cpuset is licensed under the GNU GPL V2 only.< / p > < / div >
< div class = "paragraph" > < p > Cpuset is licensed under the GNU GPL V2 only.< / p > < / div >
< / div >
< / div >
< / div >
< div class = "sect1" >
< h2 id = "_copyright" > COPYRIGHT< / h2 >
< h2 id = "_copyright" > COPYRIGHT< / h2 >
< div class = "sectionbody" >
< div class = "sectionbody" >
< div class = "paragraph" > < p > Copyright (c) 2008-2011 Novell Inc.< / p > < / div >
< div class = "paragraph" > < p > Copyright (c) 2008-2011 Novell Inc.< / p > < / div >
< / div >
< / div >
< / div >
< div class = "sect1" >
< h2 id = "_author" > AUTHOR< / h2 >
< h2 id = "_author" > AUTHOR< / h2 >
< div class = "sectionbody" >
< div class = "sectionbody" >
< div class = "paragraph" > < p > Written by Alex Tsariounov < alext@novell.com> .< / p > < / div >
< div class = "paragraph" > < p > Written by Alex Tsariounov < alext@novell.com> .< / p > < / div >
< / div >
< / div >
< / div >
< div class = "sect1" >
< h2 id = "_see_also" > SEE ALSO< / h2 >
< h2 id = "_see_also" > SEE ALSO< / h2 >
< div class = "sectionbody" >
< div class = "sectionbody" >
< div class = "paragraph" > < p > cset(1), cset-set(1), cset-proc(1)< / p > < / div >
< div class = "paragraph" > < p > cset(1), cset-set(1), cset-proc(1)< / p > < / div >
@ -719,10 +1062,13 @@ and proc) directly.</td>
< div class = "paragraph" > < p > taskset(1), chrt(1)< / p > < / div >
< div class = "paragraph" > < p > taskset(1), chrt(1)< / p > < / div >
< div class = "paragraph" > < p > /usr/src/linux/Documentation/cpusets.txt< / p > < / div >
< div class = "paragraph" > < p > /usr/src/linux/Documentation/cpusets.txt< / p > < / div >
< / div >
< / div >
< / div >
< / div >
< div id = "footnotes" > < hr / > < / div >
< div id = "footer" >
< div id = "footer" >
< div id = "footer-text" >
< div id = "footer-text" >
Version 1.5.6< br / >
Version 1.5.6< br / >
Last updated 2011-06-09 12:53:43 ED T
Last updated 2015-12-23 14:21:03 CE T
< / div >
< / div >
< / div >
< / div >
< / body >
< / body >