Skip to content

Instantly share code, notes, and snippets.

@heatd
Created September 25, 2022 18:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save heatd/442b63f1f903ed97347e47878932ee83 to your computer and use it in GitHub Desktop.
Save heatd/442b63f1f903ed97347e47878932ee83 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" width="1200" height="390" onload="init(evt)" viewBox="0 0 1200 390" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Flame graph stack visualization. See https://github.com/brendangregg/FlameGraph for latest version, and http://www.brendangregg.com/flamegraphs.html for examples. -->
<!-- NOTES: -->
<defs>
<linearGradient id="background" y1="0" y2="1" x1="0" x2="0" >
<stop stop-color="#eeeeee" offset="5%" />
<stop stop-color="#eeeeb0" offset="95%" />
</linearGradient>
</defs>
<style type="text/css">
text { font-family:Verdana; font-size:12px; fill:rgb(0,0,0); }
#search, #ignorecase { opacity:0.1; cursor:pointer; }
#search:hover, #search.show, #ignorecase:hover, #ignorecase.show { opacity:1; }
#subtitle { text-anchor:middle; font-color:rgb(160,160,160); }
#title { text-anchor:middle; font-size:17px}
#unzoom { cursor:pointer; }
#frames > *:hover { stroke:black; stroke-width:0.5; cursor:pointer; }
.hide { display:none; }
.parent { opacity:0.5; }
</style>
<script type="text/ecmascript">
<![CDATA[
"use strict";
var details, searchbtn, unzoombtn, matchedtxt, svg, searching, currentSearchTerm, ignorecase, ignorecaseBtn;
function init(evt) {
details = document.getElementById("details").firstChild;
searchbtn = document.getElementById("search");
ignorecaseBtn = document.getElementById("ignorecase");
unzoombtn = document.getElementById("unzoom");
matchedtxt = document.getElementById("matched");
svg = document.getElementsByTagName("svg")[0];
searching = 0;
currentSearchTerm = null;
// use GET parameters to restore a flamegraphs state.
var params = get_params();
if (params.x && params.y)
zoom(find_group(document.querySelector('[x="' + params.x + '"][y="' + params.y + '"]')));
if (params.s) search(params.s);
}
// event listeners
window.addEventListener("click", function(e) {
var target = find_group(e.target);
if (target) {
if (target.nodeName == "a") {
if (e.ctrlKey === false) return;
e.preventDefault();
}
if (target.classList.contains("parent")) unzoom(true);
zoom(target);
if (!document.querySelector('.parent')) {
// we have basically done a clearzoom so clear the url
var params = get_params();
if (params.x) delete params.x;
if (params.y) delete params.y;
history.replaceState(null, null, parse_params(params));
unzoombtn.classList.add("hide");
return;
}
// set parameters for zoom state
var el = target.querySelector("rect");
if (el && el.attributes && el.attributes.y && el.attributes._orig_x) {
var params = get_params()
params.x = el.attributes._orig_x.value;
params.y = el.attributes.y.value;
history.replaceState(null, null, parse_params(params));
}
}
else if (e.target.id == "unzoom") clearzoom();
else if (e.target.id == "search") search_prompt();
else if (e.target.id == "ignorecase") toggle_ignorecase();
}, false)
// mouse-over for info
// show
window.addEventListener("mouseover", function(e) {
var target = find_group(e.target);
if (target) details.nodeValue = "Function: " + g_to_text(target);
}, false)
// clear
window.addEventListener("mouseout", function(e) {
var target = find_group(e.target);
if (target) details.nodeValue = ' ';
}, false)
// ctrl-F for search
// ctrl-I to toggle case-sensitive search
window.addEventListener("keydown",function (e) {
if (e.keyCode === 114 || (e.ctrlKey && e.keyCode === 70)) {
e.preventDefault();
search_prompt();
}
else if (e.ctrlKey && e.keyCode === 73) {
e.preventDefault();
toggle_ignorecase();
}
}, false)
// functions
function get_params() {
var params = {};
var paramsarr = window.location.search.substr(1).split('&');
for (var i = 0; i < paramsarr.length; ++i) {
var tmp = paramsarr[i].split("=");
if (!tmp[0] || !tmp[1]) continue;
params[tmp[0]] = decodeURIComponent(tmp[1]);
}
return params;
}
function parse_params(params) {
var uri = "?";
for (var key in params) {
uri += key + '=' + encodeURIComponent(params[key]) + '&';
}
if (uri.slice(-1) == "&")
uri = uri.substring(0, uri.length - 1);
if (uri == '?')
uri = window.location.href.split('?')[0];
return uri;
}
function find_child(node, selector) {
var children = node.querySelectorAll(selector);
if (children.length) return children[0];
}
function find_group(node) {
var parent = node.parentElement;
if (!parent) return;
if (parent.id == "frames") return node;
return find_group(parent);
}
function orig_save(e, attr, val) {
if (e.attributes["_orig_" + attr] != undefined) return;
if (e.attributes[attr] == undefined) return;
if (val == undefined) val = e.attributes[attr].value;
e.setAttribute("_orig_" + attr, val);
}
function orig_load(e, attr) {
if (e.attributes["_orig_"+attr] == undefined) return;
e.attributes[attr].value = e.attributes["_orig_" + attr].value;
e.removeAttribute("_orig_"+attr);
}
function g_to_text(e) {
var text = find_child(e, "title").firstChild.nodeValue;
return (text)
}
function g_to_func(e) {
var func = g_to_text(e);
// if there's any manipulation we want to do to the function
// name before it's searched, do it here before returning.
return (func);
}
function update_text(e) {
var r = find_child(e, "rect");
var t = find_child(e, "text");
var w = parseFloat(r.attributes.width.value) -3;
var txt = find_child(e, "title").textContent.replace(/\([^(]*\)$/,"");
t.attributes.x.value = parseFloat(r.attributes.x.value) + 3;
// Smaller than this size won't fit anything
if (w < 2 * 12 * 0.59) {
t.textContent = "";
return;
}
t.textContent = txt;
var sl = t.getSubStringLength(0, txt.length);
// check if only whitespace or if we can fit the entire string into width w
if (/^ *$/.test(txt) || sl < w)
return;
// this isn't perfect, but gives a good starting point
// and avoids calling getSubStringLength too often
var start = Math.floor((w/sl) * txt.length);
for (var x = start; x > 0; x = x-2) {
if (t.getSubStringLength(0, x + 2) <= w) {
t.textContent = txt.substring(0, x) + "..";
return;
}
}
t.textContent = "";
}
// zoom
function zoom_reset(e) {
if (e.attributes != undefined) {
orig_load(e, "x");
orig_load(e, "width");
}
if (e.childNodes == undefined) return;
for (var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_reset(c[i]);
}
}
function zoom_child(e, x, ratio) {
if (e.attributes != undefined) {
if (e.attributes.x != undefined) {
orig_save(e, "x");
e.attributes.x.value = (parseFloat(e.attributes.x.value) - x - 10) * ratio + 10;
if (e.tagName == "text")
e.attributes.x.value = find_child(e.parentNode, "rect[x]").attributes.x.value + 3;
}
if (e.attributes.width != undefined) {
orig_save(e, "width");
e.attributes.width.value = parseFloat(e.attributes.width.value) * ratio;
}
}
if (e.childNodes == undefined) return;
for (var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_child(c[i], x - 10, ratio);
}
}
function zoom_parent(e) {
if (e.attributes) {
if (e.attributes.x != undefined) {
orig_save(e, "x");
e.attributes.x.value = 10;
}
if (e.attributes.width != undefined) {
orig_save(e, "width");
e.attributes.width.value = parseInt(svg.width.baseVal.value) - (10 * 2);
}
}
if (e.childNodes == undefined) return;
for (var i = 0, c = e.childNodes; i < c.length; i++) {
zoom_parent(c[i]);
}
}
function zoom(node) {
var attr = find_child(node, "rect").attributes;
var width = parseFloat(attr.width.value);
var xmin = parseFloat(attr.x.value);
var xmax = parseFloat(xmin + width);
var ymin = parseFloat(attr.y.value);
var ratio = (svg.width.baseVal.value - 2 * 10) / width;
// XXX: Workaround for JavaScript float issues (fix me)
var fudge = 0.0001;
unzoombtn.classList.remove("hide");
var el = document.getElementById("frames").children;
for (var i = 0; i < el.length; i++) {
var e = el[i];
var a = find_child(e, "rect").attributes;
var ex = parseFloat(a.x.value);
var ew = parseFloat(a.width.value);
var upstack;
// Is it an ancestor
if (0 == 0) {
upstack = parseFloat(a.y.value) > ymin;
} else {
upstack = parseFloat(a.y.value) < ymin;
}
if (upstack) {
// Direct ancestor
if (ex <= xmin && (ex+ew+fudge) >= xmax) {
e.classList.add("parent");
zoom_parent(e);
update_text(e);
}
// not in current path
else
e.classList.add("hide");
}
// Children maybe
else {
// no common path
if (ex < xmin || ex + fudge >= xmax) {
e.classList.add("hide");
}
else {
zoom_child(e, xmin, ratio);
update_text(e);
}
}
}
search();
}
function unzoom(dont_update_text) {
unzoombtn.classList.add("hide");
var el = document.getElementById("frames").children;
for(var i = 0; i < el.length; i++) {
el[i].classList.remove("parent");
el[i].classList.remove("hide");
zoom_reset(el[i]);
if(!dont_update_text) update_text(el[i]);
}
search();
}
function clearzoom() {
unzoom();
// remove zoom state
var params = get_params();
if (params.x) delete params.x;
if (params.y) delete params.y;
history.replaceState(null, null, parse_params(params));
}
// search
function toggle_ignorecase() {
ignorecase = !ignorecase;
if (ignorecase) {
ignorecaseBtn.classList.add("show");
} else {
ignorecaseBtn.classList.remove("show");
}
reset_search();
search();
}
function reset_search() {
var el = document.querySelectorAll("#frames rect");
for (var i = 0; i < el.length; i++) {
orig_load(el[i], "fill")
}
var params = get_params();
delete params.s;
history.replaceState(null, null, parse_params(params));
}
function search_prompt() {
if (!searching) {
var term = prompt("Enter a search term (regexp " +
"allowed, eg: ^ext4_)"
+ (ignorecase ? ", ignoring case" : "")
+ "\nPress Ctrl-i to toggle case sensitivity", "");
if (term != null) search(term);
} else {
reset_search();
searching = 0;
currentSearchTerm = null;
searchbtn.classList.remove("show");
searchbtn.firstChild.nodeValue = "Search"
matchedtxt.classList.add("hide");
matchedtxt.firstChild.nodeValue = ""
}
}
function search(term) {
if (term) currentSearchTerm = term;
var re = new RegExp(currentSearchTerm, ignorecase ? 'i' : '');
var el = document.getElementById("frames").children;
var matches = new Object();
var maxwidth = 0;
for (var i = 0; i < el.length; i++) {
var e = el[i];
var func = g_to_func(e);
var rect = find_child(e, "rect");
if (func == null || rect == null)
continue;
// Save max width. Only works as we have a root frame
var w = parseFloat(rect.attributes.width.value);
if (w > maxwidth)
maxwidth = w;
if (func.match(re)) {
// highlight
var x = parseFloat(rect.attributes.x.value);
orig_save(rect, "fill");
rect.attributes.fill.value = "rgb(230,0,230)";
// remember matches
if (matches[x] == undefined) {
matches[x] = w;
} else {
if (w > matches[x]) {
// overwrite with parent
matches[x] = w;
}
}
searching = 1;
}
}
if (!searching)
return;
var params = get_params();
params.s = currentSearchTerm;
history.replaceState(null, null, parse_params(params));
searchbtn.classList.add("show");
searchbtn.firstChild.nodeValue = "Reset Search";
// calculate percent matched, excluding vertical overlap
var count = 0;
var lastx = -1;
var lastw = 0;
var keys = Array();
for (k in matches) {
if (matches.hasOwnProperty(k))
keys.push(k);
}
// sort the matched frames by their x location
// ascending, then width descending
keys.sort(function(a, b){
return a - b;
});
// Step through frames saving only the biggest bottom-up frames
// thanks to the sort order. This relies on the tree property
// where children are always smaller than their parents.
var fudge = 0.0001; // JavaScript floating point
for (var k in keys) {
var x = parseFloat(keys[k]);
var w = matches[keys[k]];
if (x >= lastx + lastw - fudge) {
count += w;
lastx = x;
lastw = w;
}
}
// display matched percent
matchedtxt.classList.remove("hide");
var pct = 100 * count / maxwidth;
if (pct != 100) pct = pct.toFixed(1)
matchedtxt.firstChild.nodeValue = "Matched: " + pct + "%";
}
]]>
</script>
<rect x="0.0" y="0" width="1200.0" height="390.0" fill="url(#background)" />
<text id="title" x="600.00" y="24" >Flame Graph</text>
<text id="details" x="10.00" y="373" > </text>
<text id="unzoom" x="10.00" y="24" class="hide">Reset Zoom</text>
<text id="search" x="1090.00" y="24" >Search</text>
<text id="ignorecase" x="1174.00" y="24" >ic</text>
<text id="matched" x="1090.00" y="373" > </text>
<g id="frames">
<g >
<title>vmonyx`inode_init(inode*, bool) (190 samples, 0.49%)</title><rect x="396.6" y="133" width="5.8" height="15.0" fill="rgb(240,103,29)" rx="2" ry="2" />
<text x="399.62" y="143.5" ></text>
</g>
<g >
<title>vmonyx`apic_send_ipi(unsigned char, unsigned int, unsigned int) (4 samples, 0.01%)</title><rect x="862.4" y="133" width="0.2" height="15.0" fill="rgb(233,170,40)" rx="2" ry="2" />
<text x="865.44" y="143.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4 samples, 0.01%)</title><rect x="404.2" y="101" width="0.1" height="15.0" fill="rgb(212,83,43)" rx="2" ry="2" />
<text x="407.19" y="111.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (17 samples, 0.04%)</title><rect x="190.1" y="213" width="0.5" height="15.0" fill="rgb(239,212,34)" rx="2" ry="2" />
<text x="193.07" y="223.5" ></text>
</g>
<g >
<title>vmonyx`creds_get() (12 samples, 0.03%)</title><rect x="775.1" y="181" width="0.4" height="15.0" fill="rgb(239,121,33)" rx="2" ry="2" />
<text x="778.13" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (282 samples, 0.72%)</title><rect x="384.5" y="117" width="8.6" height="15.0" fill="rgb(253,144,16)" rx="2" ry="2" />
<text x="387.54" y="127.5" ></text>
</g>
<g >
<title>vmonyx`rw_unlock_read(rwlock*) (11 samples, 0.03%)</title><rect x="776.4" y="181" width="0.3" height="15.0" fill="rgb(237,140,38)" rx="2" ry="2" />
<text x="779.40" y="191.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (5 samples, 0.01%)</title><rect x="798.6" y="181" width="0.1" height="15.0" fill="rgb(242,111,25)" rx="2" ry="2" />
<text x="801.56" y="191.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="30.0" y="261" width="0.1" height="15.0" fill="rgb(235,59,24)" rx="2" ry="2" />
<text x="32.98" y="271.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched_if_needed (114 samples, 0.29%)</title><rect x="615.9" y="117" width="3.4" height="15.0" fill="rgb(219,81,27)" rx="2" ry="2" />
<text x="618.86" y="127.5" ></text>
</g>
<g >
<title>vmonyx`mmu_invalidate_range(unsigned long, unsigned long, mm_address_space*) (104 samples, 0.27%)</title><rect x="185.9" y="149" width="3.1" height="15.0" fill="rgb(246,89,50)" rx="2" ry="2" />
<text x="188.86" y="159.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_write(rwlock*, int) (1,662 samples, 4.26%)</title><rect x="811.8" y="165" width="50.3" height="15.0" fill="rgb(205,43,15)" rx="2" ry="2" />
<text x="814.82" y="175.5" >vmony..</text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="17.7" y="213" width="0.1" height="15.0" fill="rgb(214,228,42)" rx="2" ry="2" />
<text x="20.66" y="223.5" ></text>
</g>
<g >
<title>vmonyx`rwlock_prepare_sleep(rwlock*, int) (352 samples, 0.90%)</title><rect x="851.5" y="149" width="10.6" height="15.0" fill="rgb(216,183,37)" rx="2" ry="2" />
<text x="854.48" y="159.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (829 samples, 2.13%)</title><rect x="697.9" y="149" width="25.1" height="15.0" fill="rgb(212,220,32)" rx="2" ry="2" />
<text x="700.87" y="159.5" >v..</text>
</g>
<g >
<title>vmonyx`file_creation_helper(dentry*, char const*, last_name_handling&amp;) (6,714 samples, 17.23%)</title><rect x="209.8" y="245" width="203.2" height="15.0" fill="rgb(254,38,49)" rx="2" ry="2" />
<text x="212.77" y="255.5" >vmonyx`file_creation_helpe..</text>
</g>
<g >
<title>vmonyx`__bin_chunk (63 samples, 0.16%)</title><rect x="32.2" y="277" width="1.9" height="15.0" fill="rgb(222,187,45)" rx="2" ry="2" />
<text x="35.19" y="287.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (1,108 samples, 2.84%)</title><rect x="50.7" y="165" width="33.6" height="15.0" fill="rgb(233,58,49)" rx="2" ry="2" />
<text x="53.72" y="175.5" >vm..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (9 samples, 0.02%)</title><rect x="17.4" y="229" width="0.2" height="15.0" fill="rgb(224,77,50)" rx="2" ry="2" />
<text x="20.36" y="239.5" ></text>
</g>
<g >
<title>vmonyx`user_string::from_user (83 samples, 0.21%)</title><rect x="980.8" y="277" width="2.5" height="15.0" fill="rgb(223,171,36)" rx="2" ry="2" />
<text x="983.81" y="287.5" ></text>
</g>
<g >
<title>vmonyx`thread_wake_up(thread*) (67 samples, 0.17%)</title><rect x="393.3" y="117" width="2.0" height="15.0" fill="rgb(208,68,9)" rx="2" ry="2" />
<text x="396.26" y="127.5" ></text>
</g>
<g >
<title>vmonyx`get_token_from_path(nameidata&amp;) (9 samples, 0.02%)</title><rect x="774.8" y="197" width="0.3" height="15.0" fill="rgb(216,66,38)" rx="2" ry="2" />
<text x="777.80" y="207.5" ></text>
</g>
<g >
<title>vmonyx`auto_file::from_dirfd (4 samples, 0.01%)</title><rect x="790.1" y="293" width="0.2" height="15.0" fill="rgb(225,179,7)" rx="2" ry="2" />
<text x="793.15" y="303.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (5 samples, 0.01%)</title><rect x="17.6" y="229" width="0.2" height="15.0" fill="rgb(230,170,18)" rx="2" ry="2" />
<text x="20.63" y="239.5" ></text>
</g>
<g >
<title>vmonyx`memory_pool&lt;dentry, 0&gt;::free (18 samples, 0.05%)</title><rect x="808.4" y="165" width="0.6" height="15.0" fill="rgb(251,9,25)" rx="2" ry="2" />
<text x="811.43" y="175.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (4 samples, 0.01%)</title><rect x="408.2" y="133" width="0.1" height="15.0" fill="rgb(242,214,19)" rx="2" ry="2" />
<text x="411.19" y="143.5" ></text>
</g>
<g >
<title>vmonyx`pagecache_dirty_block(page_cache_block*) (5 samples, 0.01%)</title><rect x="15.6" y="213" width="0.2" height="15.0" fill="rgb(240,23,14)" rx="2" ry="2" />
<text x="18.60" y="223.5" ></text>
</g>
<g >
<title>vmonyx`dentry_resolve_path(nameidata&amp;) (6,127 samples, 15.72%)</title><rect x="795.2" y="229" width="185.5" height="15.0" fill="rgb(205,131,47)" rx="2" ry="2" />
<text x="798.17" y="239.5" >vmonyx`dentry_resolve_pa..</text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (9 samples, 0.02%)</title><rect x="1010.5" y="261" width="0.3" height="15.0" fill="rgb(254,106,49)" rx="2" ry="2" />
<text x="1013.51" y="271.5" ></text>
</g>
<g >
<title>vmonyx`auto_file::from_dirfd (13 samples, 0.03%)</title><rect x="34.1" y="277" width="0.4" height="15.0" fill="rgb(241,112,50)" rx="2" ry="2" />
<text x="37.10" y="287.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="977.1" y="133" width="0.2" height="15.0" fill="rgb(210,158,25)" rx="2" ry="2" />
<text x="980.15" y="143.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (786 samples, 2.02%)</title><rect x="620.3" y="133" width="23.8" height="15.0" fill="rgb(206,77,34)" rx="2" ry="2" />
<text x="623.34" y="143.5" >v..</text>
</g>
<g >
<title>vmonyx`page_node::allocate_pages (9 samples, 0.02%)</title><rect x="1005.1" y="149" width="0.3" height="15.0" fill="rgb(205,143,44)" rx="2" ry="2" />
<text x="1008.09" y="159.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (349 samples, 0.90%)</title><rect x="851.5" y="133" width="10.6" height="15.0" fill="rgb(233,88,20)" rx="2" ry="2" />
<text x="854.51" y="143.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (5 samples, 0.01%)</title><rect x="16.3" y="149" width="0.2" height="15.0" fill="rgb(246,194,40)" rx="2" ry="2" />
<text x="19.33" y="159.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (97 samples, 0.25%)</title><rect x="191.4" y="181" width="2.9" height="15.0" fill="rgb(219,36,50)" rx="2" ry="2" />
<text x="194.37" y="191.5" ></text>
</g>
<g >
<title>vmonyx`context_tracking_enter_kernel() (23 samples, 0.06%)</title><rect x="983.4" y="309" width="0.7" height="15.0" fill="rgb(245,133,48)" rx="2" ry="2" />
<text x="986.41" y="319.5" ></text>
</g>
<g >
<title>vmonyx`malloc (49 samples, 0.13%)</title><rect x="170.5" y="245" width="1.5" height="15.0" fill="rgb(239,146,50)" rx="2" ry="2" />
<text x="173.51" y="255.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (12 samples, 0.03%)</title><rect x="213.2" y="101" width="0.3" height="15.0" fill="rgb(210,229,0)" rx="2" ry="2" />
<text x="216.17" y="111.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (8 samples, 0.02%)</title><rect x="406.2" y="101" width="0.2" height="15.0" fill="rgb(244,46,29)" rx="2" ry="2" />
<text x="409.16" y="111.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (23 samples, 0.06%)</title><rect x="276.7" y="53" width="0.7" height="15.0" fill="rgb(238,162,37)" rx="2" ry="2" />
<text x="279.74" y="63.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a433b (28 samples, 0.07%)</title><rect x="1013.2" y="229" width="0.8" height="15.0" fill="rgb(211,100,19)" rx="2" ry="2" />
<text x="1016.17" y="239.5" ></text>
</g>
<g >
<title>vmonyx`get_current_directory() (6 samples, 0.02%)</title><rect x="34.3" y="245" width="0.2" height="15.0" fill="rgb(219,170,38)" rx="2" ry="2" />
<text x="37.28" y="255.5" ></text>
</g>
<g >
<title>vmonyx`get_current_directory() (35 samples, 0.09%)</title><rect x="785.1" y="277" width="1.1" height="15.0" fill="rgb(243,80,11)" rx="2" ry="2" />
<text x="788.12" y="287.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (324 samples, 0.83%)</title><rect x="812.1" y="149" width="9.8" height="15.0" fill="rgb(236,55,3)" rx="2" ry="2" />
<text x="815.10" y="159.5" ></text>
</g>
<g >
<title>vmonyx`dentry_compare_name(dentry*, std::basic_string_view (8 samples, 0.02%)</title><rect x="407.7" y="149" width="0.3" height="15.0" fill="rgb(250,213,45)" rx="2" ry="2" />
<text x="410.73" y="159.5" ></text>
</g>
<g >
<title>vmonyx`open_with_vnode(file*, int) (124 samples, 0.32%)</title><rect x="780.7" y="261" width="3.8" height="15.0" fill="rgb(225,56,0)" rx="2" ry="2" />
<text x="783.73" y="271.5" ></text>
</g>
<g >
<title>vmonyx`rw_unlock_read(rwlock*) (5 samples, 0.01%)</title><rect x="799.7" y="181" width="0.1" height="15.0" fill="rgb(207,225,44)" rx="2" ry="2" />
<text x="802.68" y="191.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (38 samples, 0.10%)</title><rect x="788.9" y="245" width="1.2" height="15.0" fill="rgb(248,116,45)" rx="2" ry="2" />
<text x="791.91" y="255.5" ></text>
</g>
<g >
<title>vmonyx`inode_can_access(inode*, unsigned int) (56 samples, 0.14%)</title><rect x="775.1" y="197" width="1.7" height="15.0" fill="rgb(217,187,19)" rx="2" ry="2" />
<text x="778.07" y="207.5" ></text>
</g>
<g >
<title>vmonyx`tree_search_ge_node (23 samples, 0.06%)</title><rect x="1002.3" y="213" width="0.7" height="15.0" fill="rgb(215,173,1)" rx="2" ry="2" />
<text x="1005.33" y="223.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (8 samples, 0.02%)</title><rect x="165.1" y="197" width="0.3" height="15.0" fill="rgb(227,110,7)" rx="2" ry="2" />
<text x="168.12" y="207.5" ></text>
</g>
<g >
<title>vmonyx`file_alloc(file*, ioctx*) (103 samples, 0.26%)</title><rect x="780.9" y="245" width="3.1" height="15.0" fill="rgb(248,107,48)" rx="2" ry="2" />
<text x="783.91" y="255.5" ></text>
</g>
<g >
<title>vmonyx`rb_tree_clear (5 samples, 0.01%)</title><rect x="805.2" y="117" width="0.2" height="15.0" fill="rgb(244,98,23)" rx="2" ry="2" />
<text x="808.22" y="127.5" ></text>
</g>
<g >
<title>vmonyx`malloc (95 samples, 0.24%)</title><rect x="1003.7" y="213" width="2.8" height="15.0" fill="rgb(230,142,1)" rx="2" ry="2" />
<text x="1006.67" y="223.5" ></text>
</g>
<g >
<title>vmonyx`__get_file_description(int, process*) (18 samples, 0.05%)</title><rect x="997.6" y="293" width="0.6" height="15.0" fill="rgb(246,19,51)" rx="2" ry="2" />
<text x="1000.61" y="303.5" ></text>
</g>
<g >
<title>vmonyx`apic_send_ipi(unsigned char, unsigned int, unsigned int) (6 samples, 0.02%)</title><rect x="284.6" y="101" width="0.2" height="15.0" fill="rgb(227,113,31)" rx="2" ry="2" />
<text x="287.64" y="111.5" ></text>
</g>
<g >
<title>vmonyx`__file_close(int, process*) (4 samples, 0.01%)</title><rect x="25.7" y="309" width="0.1" height="15.0" fill="rgb(224,169,16)" rx="2" ry="2" />
<text x="28.68" y="319.5" ></text>
</g>
<g >
<title>vmonyx`vmo_unref(vm_object*) (132 samples, 0.34%)</title><rect x="804.4" y="149" width="4.0" height="15.0" fill="rgb(216,137,27)" rx="2" ry="2" />
<text x="807.38" y="159.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (23 samples, 0.06%)</title><rect x="982.6" y="229" width="0.7" height="15.0" fill="rgb(216,75,31)" rx="2" ry="2" />
<text x="985.60" y="239.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (15 samples, 0.04%)</title><rect x="17.3" y="245" width="0.5" height="15.0" fill="rgb(237,171,2)" rx="2" ry="2" />
<text x="20.33" y="255.5" ></text>
</g>
<g >
<title>vmonyx`list_remove(list_head*) (7 samples, 0.02%)</title><rect x="803.6" y="133" width="0.2" height="15.0" fill="rgb(239,93,15)" rx="2" ry="2" />
<text x="806.62" y="143.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (39 samples, 0.10%)</title><rect x="810.2" y="181" width="1.2" height="15.0" fill="rgb(233,216,12)" rx="2" ry="2" />
<text x="813.19" y="191.5" ></text>
</g>
<g >
<title>vmonyx`rw_unlock_read(rwlock*) (12 samples, 0.03%)</title><rect x="783.5" y="181" width="0.4" height="15.0" fill="rgb(241,43,54)" rx="2" ry="2" />
<text x="786.55" y="191.5" ></text>
</g>
<g >
<title>all (38,978 samples, 100%)</title><rect x="10.0" y="341" width="1180.0" height="15.0" fill="rgb(252,131,26)" rx="2" ry="2" />
<text x="13.00" y="351.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (15 samples, 0.04%)</title><rect x="1020.3" y="197" width="0.5" height="15.0" fill="rgb(241,194,53)" rx="2" ry="2" />
<text x="1023.35" y="207.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (1,598 samples, 4.10%)</title><rect x="723.0" y="165" width="48.3" height="15.0" fill="rgb(248,139,8)" rx="2" ry="2" />
<text x="725.97" y="175.5" >vmon..</text>
</g>
<g >
<title>vmonyx`__bin_chunk (17 samples, 0.04%)</title><rect x="398.0" y="53" width="0.5" height="15.0" fill="rgb(225,107,3)" rx="2" ry="2" />
<text x="400.99" y="63.5" ></text>
</g>
<g >
<title>vmonyx`mutex_lock(mutex*) (4 samples, 0.01%)</title><rect x="1010.4" y="261" width="0.1" height="15.0" fill="rgb(212,5,10)" rx="2" ry="2" />
<text x="1013.39" y="271.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (6 samples, 0.02%)</title><rect x="413.4" y="213" width="0.2" height="15.0" fill="rgb(250,135,0)" rx="2" ry="2" />
<text x="416.42" y="223.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4 samples, 0.01%)</title><rect x="190.1" y="165" width="0.1" height="15.0" fill="rgb(233,205,18)" rx="2" ry="2" />
<text x="193.13" y="175.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (96 samples, 0.25%)</title><rect x="666.8" y="101" width="2.9" height="15.0" fill="rgb(224,74,46)" rx="2" ry="2" />
<text x="669.75" y="111.5" ></text>
</g>
<g >
<title>vmonyx`creds_get() (16 samples, 0.04%)</title><rect x="166.2" y="197" width="0.5" height="15.0" fill="rgb(230,175,0)" rx="2" ry="2" />
<text x="169.21" y="207.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (1,428 samples, 3.66%)</title><rect x="233.5" y="101" width="43.2" height="15.0" fill="rgb(235,224,16)" rx="2" ry="2" />
<text x="236.48" y="111.5" >vmon..</text>
</g>
<g >
<title>vmonyx`vm_find_region_in_tree(void*, rb_tree*) (14 samples, 0.04%)</title><rect x="176.3" y="213" width="0.4" height="15.0" fill="rgb(252,195,36)" rx="2" ry="2" />
<text x="179.29" y="223.5" ></text>
</g>
<g >
<title>vmonyx`rb_itor_next (94 samples, 0.24%)</title><rect x="201.6" y="261" width="2.8" height="15.0" fill="rgb(209,170,53)" rx="2" ry="2" />
<text x="204.60" y="271.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (201 samples, 0.52%)</title><rect x="277.5" y="85" width="6.1" height="15.0" fill="rgb(216,126,6)" rx="2" ry="2" />
<text x="280.53" y="95.5" ></text>
</g>
<g >
<title>vmonyx`sched_yield() (6 samples, 0.02%)</title><rect x="773.9" y="181" width="0.2" height="15.0" fill="rgb(209,128,23)" rx="2" ry="2" />
<text x="776.89" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (7 samples, 0.02%)</title><rect x="16.5" y="165" width="0.2" height="15.0" fill="rgb(227,37,2)" rx="2" ry="2" />
<text x="19.48" y="175.5" ></text>
</g>
<g >
<title>vmonyx`process::get_rlimit (18 samples, 0.05%)</title><rect x="1009.5" y="229" width="0.6" height="15.0" fill="rgb(218,202,15)" rx="2" ry="2" />
<text x="1012.51" y="239.5" ></text>
</g>
<g >
<title>vmonyx`inode_to_file(inode*) (85 samples, 0.22%)</title><rect x="410.5" y="229" width="2.5" height="15.0" fill="rgb(232,226,49)" rx="2" ry="2" />
<text x="413.46" y="239.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (12 samples, 0.03%)</title><rect x="172.7" y="261" width="0.4" height="15.0" fill="rgb(232,153,17)" rx="2" ry="2" />
<text x="175.69" y="271.5" ></text>
</g>
<g >
<title>vmonyx`vm_find_region_in_tree(void*, rb_tree*) (22 samples, 0.06%)</title><rect x="17.9" y="245" width="0.7" height="15.0" fill="rgb(213,94,29)" rx="2" ry="2" />
<text x="20.93" y="255.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (5 samples, 0.01%)</title><rect x="172.7" y="245" width="0.1" height="15.0" fill="rgb(218,77,25)" rx="2" ry="2" />
<text x="175.69" y="255.5" ></text>
</g>
<g >
<title>vmonyx`__file_close(int, process*) (191 samples, 0.49%)</title><rect x="25.8" y="293" width="5.8" height="15.0" fill="rgb(215,17,10)" rx="2" ry="2" />
<text x="28.80" y="303.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (75 samples, 0.19%)</title><rect x="796.6" y="197" width="2.2" height="15.0" fill="rgb(254,138,15)" rx="2" ry="2" />
<text x="799.57" y="207.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (25 samples, 0.06%)</title><rect x="276.7" y="85" width="0.8" height="15.0" fill="rgb(208,2,4)" rx="2" ry="2" />
<text x="279.71" y="95.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (1,565 samples, 4.02%)</title><rect x="929.8" y="133" width="47.3" height="15.0" fill="rgb(228,228,7)" rx="2" ry="2" />
<text x="932.77" y="143.5" >vmon..</text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (7 samples, 0.02%)</title><rect x="1005.4" y="197" width="0.2" height="15.0" fill="rgb(232,46,45)" rx="2" ry="2" />
<text x="1008.39" y="207.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (11 samples, 0.03%)</title><rect x="408.0" y="149" width="0.3" height="15.0" fill="rgb(244,23,45)" rx="2" ry="2" />
<text x="410.98" y="159.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (7 samples, 0.02%)</title><rect x="413.6" y="245" width="0.2" height="15.0" fill="rgb(232,81,43)" rx="2" ry="2" />
<text x="416.61" y="255.5" ></text>
</g>
<g >
<title>vmonyx`inode_can_access(inode*, unsigned int) (15 samples, 0.04%)</title><rect x="413.4" y="261" width="0.5" height="15.0" fill="rgb(254,164,29)" rx="2" ry="2" />
<text x="416.42" y="271.5" ></text>
</g>
<g >
<title>vmonyx`get_token_from_path(nameidata&amp;) (17 samples, 0.04%)</title><rect x="165.6" y="213" width="0.6" height="15.0" fill="rgb(222,128,17)" rx="2" ry="2" />
<text x="168.64" y="223.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (12 samples, 0.03%)</title><rect x="214.8" y="117" width="0.4" height="15.0" fill="rgb(217,92,1)" rx="2" ry="2" />
<text x="217.83" y="127.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (28 samples, 0.07%)</title><rect x="412.2" y="181" width="0.8" height="15.0" fill="rgb(215,191,43)" rx="2" ry="2" />
<text x="415.18" y="191.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (26 samples, 0.07%)</title><rect x="84.3" y="149" width="0.7" height="15.0" fill="rgb(217,49,34)" rx="2" ry="2" />
<text x="87.26" y="159.5" ></text>
</g>
<g >
<title>vmonyx`vmo_unref(vm_object*) (10 samples, 0.03%)</title><rect x="197.4" y="245" width="0.3" height="15.0" fill="rgb(244,164,29)" rx="2" ry="2" />
<text x="200.36" y="255.5" ></text>
</g>
<g >
<title>vmonyx`do_vm_unmap(void*, unsigned long) (17 samples, 0.04%)</title><rect x="176.2" y="245" width="0.5" height="15.0" fill="rgb(247,178,42)" rx="2" ry="2" />
<text x="179.20" y="255.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (4 samples, 0.01%)</title><rect x="409.2" y="133" width="0.1" height="15.0" fill="rgb(252,67,12)" rx="2" ry="2" />
<text x="412.22" y="143.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (11 samples, 0.03%)</title><rect x="404.7" y="101" width="0.4" height="15.0" fill="rgb(233,32,37)" rx="2" ry="2" />
<text x="407.74" y="111.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (22 samples, 0.06%)</title><rect x="781.8" y="165" width="0.7" height="15.0" fill="rgb(240,106,19)" rx="2" ry="2" />
<text x="784.82" y="175.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (12 samples, 0.03%)</title><rect x="784.0" y="245" width="0.4" height="15.0" fill="rgb(246,9,1)" rx="2" ry="2" />
<text x="787.03" y="255.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="810.1" y="133" width="0.1" height="15.0" fill="rgb(234,226,50)" rx="2" ry="2" />
<text x="813.07" y="143.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)1&gt;::lock (783 samples, 2.01%)</title><rect x="646.0" y="165" width="23.7" height="15.0" fill="rgb(210,76,39)" rx="2" ry="2" />
<text x="648.96" y="175.5" >v..</text>
</g>
<g >
<title>vmonyx`inode_ref(inode*) (9 samples, 0.02%)</title><rect x="777.1" y="245" width="0.3" height="15.0" fill="rgb(227,70,4)" rx="2" ry="2" />
<text x="780.13" y="255.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a41a4 (4 samples, 0.01%)</title><rect x="169.9" y="261" width="0.2" height="15.0" fill="rgb(247,32,33)" rx="2" ry="2" />
<text x="172.93" y="271.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (14 samples, 0.04%)</title><rect x="396.0" y="117" width="0.4" height="15.0" fill="rgb(240,16,24)" rx="2" ry="2" />
<text x="399.02" y="127.5" ></text>
</g>
<g >
<title>vmonyx`limits_are_contained(vm_region*, unsigned long, unsigned long) (122 samples, 0.31%)</title><rect x="197.7" y="261" width="3.7" height="15.0" fill="rgb(214,5,51)" rx="2" ry="2" />
<text x="200.73" y="271.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_threads(rwlock*) (3,852 samples, 9.88%)</title><rect x="862.2" y="165" width="116.6" height="15.0" fill="rgb(254,174,51)" rx="2" ry="2" />
<text x="865.23" y="175.5" >vmonyx`rw_lock..</text>
</g>
<g >
<title>vmonyx`__bin_chunk (25 samples, 0.06%)</title><rect x="1004.3" y="197" width="0.8" height="15.0" fill="rgb(244,24,31)" rx="2" ry="2" />
<text x="1007.33" y="207.5" ></text>
</g>
<g >
<title>vmonyx`x86_mmu_unmap(PML*, unsigned int, page_table_iterator&amp;) (164 samples, 0.42%)</title><rect x="184.4" y="181" width="5.0" height="15.0" fill="rgb(206,23,34)" rx="2" ry="2" />
<text x="187.41" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (15 samples, 0.04%)</title><rect x="783.1" y="165" width="0.4" height="15.0" fill="rgb(243,67,14)" rx="2" ry="2" />
<text x="786.09" y="175.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (13 samples, 0.03%)</title><rect x="771.4" y="149" width="0.4" height="15.0" fill="rgb(210,35,1)" rx="2" ry="2" />
<text x="774.38" y="159.5" ></text>
</g>
<g >
<title>vmonyx`page_node::allocate_pages (9 samples, 0.02%)</title><rect x="1018.1" y="149" width="0.3" height="15.0" fill="rgb(233,74,22)" rx="2" ry="2" />
<text x="1021.14" y="159.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (14 samples, 0.04%)</title><rect x="782.7" y="165" width="0.4" height="15.0" fill="rgb(235,96,49)" rx="2" ry="2" />
<text x="785.67" y="175.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)1&gt;::unlock (3,857 samples, 9.90%)</title><rect x="862.2" y="181" width="116.7" height="15.0" fill="rgb(220,91,0)" rx="2" ry="2" />
<text x="865.17" y="191.5" >vmonyx`scoped_..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (7 samples, 0.02%)</title><rect x="172.8" y="245" width="0.3" height="15.0" fill="rgb(217,70,7)" rx="2" ry="2" />
<text x="175.84" y="255.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (3,294 samples, 8.45%)</title><rect x="284.8" y="101" width="99.7" height="15.0" fill="rgb(227,16,1)" rx="2" ry="2" />
<text x="287.82" y="111.5" >vmonyx`sched..</text>
</g>
<g >
<title>vmonyx`file_write_cache(void*, unsigned long, inode*, unsigned long) (6 samples, 0.02%)</title><rect x="1025.5" y="293" width="0.2" height="15.0" fill="rgb(214,209,36)" rx="2" ry="2" />
<text x="1028.52" y="303.5" ></text>
</g>
<g >
<title>vmonyx`list_add_tail(list_head*, list_head*) (28 samples, 0.07%)</title><rect x="405.3" y="101" width="0.8" height="15.0" fill="rgb(237,172,26)" rx="2" ry="2" />
<text x="408.28" y="111.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (202 samples, 0.52%)</title><rect x="277.5" y="101" width="6.1" height="15.0" fill="rgb(245,134,31)" rx="2" ry="2" />
<text x="280.50" y="111.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (11 samples, 0.03%)</title><rect x="783.2" y="149" width="0.3" height="15.0" fill="rgb(225,22,54)" rx="2" ry="2" />
<text x="786.15" y="159.5" ></text>
</g>
<g >
<title>vmonyx`inode_can_access(inode*, unsigned int) (9 samples, 0.02%)</title><rect x="215.4" y="149" width="0.2" height="15.0" fill="rgb(218,228,23)" rx="2" ry="2" />
<text x="218.38" y="159.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4 samples, 0.01%)</title><rect x="1009.8" y="165" width="0.1" height="15.0" fill="rgb(230,24,34)" rx="2" ry="2" />
<text x="1012.78" y="175.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (27 samples, 0.07%)</title><rect x="84.3" y="165" width="0.8" height="15.0" fill="rgb(225,140,9)" rx="2" ry="2" />
<text x="87.26" y="175.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (4 samples, 0.01%)</title><rect x="1012.0" y="261" width="0.1" height="15.0" fill="rgb(209,102,22)" rx="2" ry="2" />
<text x="1014.99" y="271.5" ></text>
</g>
<g >
<title>vmonyx`strlen (4 samples, 0.01%)</title><rect x="798.7" y="181" width="0.1" height="15.0" fill="rgb(233,74,18)" rx="2" ry="2" />
<text x="801.72" y="191.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a433b (5 samples, 0.01%)</title><rect x="214.7" y="117" width="0.1" height="15.0" fill="rgb(246,152,39)" rx="2" ry="2" />
<text x="217.68" y="127.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (7 samples, 0.02%)</title><rect x="811.1" y="149" width="0.2" height="15.0" fill="rgb(238,115,47)" rx="2" ry="2" />
<text x="814.13" y="159.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)1&gt;::lock (2,241 samples, 5.75%)</title><rect x="216.0" y="149" width="67.8" height="15.0" fill="rgb(225,81,19)" rx="2" ry="2" />
<text x="218.95" y="159.5" >vmonyx`..</text>
</g>
<g >
<title>vmonyx`get_token_from_path(nameidata&amp;) (8 samples, 0.02%)</title><rect x="408.6" y="165" width="0.3" height="15.0" fill="rgb(243,100,52)" rx="2" ry="2" />
<text x="411.61" y="175.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (4,245 samples, 10.89%)</title><rect x="37.1" y="213" width="128.5" height="15.0" fill="rgb(226,11,54)" rx="2" ry="2" />
<text x="40.13" y="223.5" >vmonyx`dentry_lo..</text>
</g>
<g >
<title>vmonyx`sched_lock(thread*) (18 samples, 0.05%)</title><rect x="393.3" y="101" width="0.5" height="15.0" fill="rgb(227,212,24)" rx="2" ry="2" />
<text x="396.29" y="111.5" ></text>
</g>
<g >
<title>vmonyx`vm_remove_region(mm_address_space*, vm_region*) (221 samples, 0.57%)</title><rect x="190.7" y="245" width="6.7" height="15.0" fill="rgb(248,210,24)" rx="2" ry="2" />
<text x="193.67" y="255.5" ></text>
</g>
<g >
<title>vmonyx`malloc (118 samples, 0.30%)</title><rect x="786.5" y="261" width="3.6" height="15.0" fill="rgb(227,71,9)" rx="2" ry="2" />
<text x="789.48" y="271.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::find (5 samples, 0.01%)</title><rect x="774.8" y="181" width="0.2" height="15.0" fill="rgb(210,120,45)" rx="2" ry="2" />
<text x="777.83" y="191.5" ></text>
</g>
<g >
<title>vmonyx`pagecache_dirty_block(page_cache_block*) (7 samples, 0.02%)</title><rect x="1024.3" y="261" width="0.3" height="15.0" fill="rgb(218,213,46)" rx="2" ry="2" />
<text x="1027.34" y="271.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (37 samples, 0.09%)</title><rect x="1022.3" y="181" width="1.1" height="15.0" fill="rgb(239,137,50)" rx="2" ry="2" />
<text x="1025.25" y="191.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (568 samples, 1.46%)</title><rect x="216.2" y="117" width="17.2" height="15.0" fill="rgb(217,144,5)" rx="2" ry="2" />
<text x="219.22" y="127.5" ></text>
</g>
<g >
<title>vmonyx`__sys_open_thunk(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) (19,301 samples, 49.52%)</title><rect x="205.8" y="309" width="584.3" height="15.0" fill="rgb(231,145,37)" rx="2" ry="2" />
<text x="208.84" y="319.5" >vmonyx`__sys_open_thunk(unsigned long, unsigned long, unsigned long, unsigned lo..</text>
</g>
<g >
<title>vmonyx`rb_itor_next (53 samples, 0.14%)</title><rect x="1000.3" y="229" width="1.6" height="15.0" fill="rgb(218,126,30)" rx="2" ry="2" />
<text x="1003.31" y="239.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (4 samples, 0.01%)</title><rect x="977.1" y="149" width="0.2" height="15.0" fill="rgb(241,28,53)" rx="2" ry="2" />
<text x="980.15" y="159.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (494 samples, 1.27%)</title><rect x="651.4" y="101" width="14.9" height="15.0" fill="rgb(250,187,23)" rx="2" ry="2" />
<text x="654.37" y="111.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (10 samples, 0.03%)</title><rect x="166.8" y="181" width="0.3" height="15.0" fill="rgb(243,102,11)" rx="2" ry="2" />
<text x="169.82" y="191.5" ></text>
</g>
<g >
<title>vmonyx`tmpfs_unlink(char const*, int, dentry*) (10 samples, 0.03%)</title><rect x="800.3" y="197" width="0.4" height="15.0" fill="rgb(208,28,36)" rx="2" ry="2" />
<text x="803.35" y="207.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_threads(rwlock*) (916 samples, 2.35%)</title><rect x="669.7" y="149" width="27.8" height="15.0" fill="rgb(206,40,52)" rx="2" ry="2" />
<text x="672.72" y="159.5" >v..</text>
</g>
<g >
<title>vmonyx`do_actual_write(unsigned long, unsigned long, void*, file*) (436 samples, 1.12%)</title><rect x="1012.2" y="293" width="13.2" height="15.0" fill="rgb(216,84,48)" rx="2" ry="2" />
<text x="1015.23" y="303.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (277 samples, 0.71%)</title><rect x="85.3" y="149" width="8.4" height="15.0" fill="rgb(219,59,45)" rx="2" ry="2" />
<text x="88.32" y="159.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (6 samples, 0.02%)</title><rect x="16.5" y="149" width="0.2" height="15.0" fill="rgb(221,118,0)" rx="2" ry="2" />
<text x="19.48" y="159.5" ></text>
</g>
<g >
<title>vmonyx`strlcpy (10 samples, 0.03%)</title><rect x="213.6" y="133" width="0.3" height="15.0" fill="rgb(227,146,21)" rx="2" ry="2" />
<text x="216.62" y="143.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (9 samples, 0.02%)</title><rect x="666.4" y="69" width="0.3" height="15.0" fill="rgb(247,150,9)" rx="2" ry="2" />
<text x="669.39" y="79.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (5 samples, 0.01%)</title><rect x="172.8" y="229" width="0.2" height="15.0" fill="rgb(243,35,14)" rx="2" ry="2" />
<text x="175.84" y="239.5" ></text>
</g>
<g >
<title>vmonyx`__vm_allocate_virt_region(unsigned long, unsigned long, unsigned int, unsigned long) (392 samples, 1.01%)</title><rect x="998.4" y="277" width="11.9" height="15.0" fill="rgb(225,13,17)" rx="2" ry="2" />
<text x="1001.40" y="287.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (12 samples, 0.03%)</title><rect x="666.3" y="117" width="0.4" height="15.0" fill="rgb(221,132,34)" rx="2" ry="2" />
<text x="669.33" y="127.5" ></text>
</g>
<g >
<title>vmonyx`fd_put(file*) (17 samples, 0.04%)</title><rect x="784.5" y="277" width="0.5" height="15.0" fill="rgb(247,101,22)" rx="2" ry="2" />
<text x="787.49" y="287.5" ></text>
</g>
<g >
<title>vmonyx`vm_test_vs_rlimit(mm_address_space const*, long) (20 samples, 0.05%)</title><rect x="1009.5" y="245" width="0.6" height="15.0" fill="rgb(206,19,3)" rx="2" ry="2" />
<text x="1012.48" y="255.5" ></text>
</g>
<g >
<title>vmonyx`dentry_destroy(dentry*) (267 samples, 0.69%)</title><rect x="801.2" y="181" width="8.1" height="15.0" fill="rgb(237,29,3)" rx="2" ry="2" />
<text x="804.17" y="191.5" ></text>
</g>
<g >
<title>vmonyx`context_tracking_exit_kernel() (19 samples, 0.05%)</title><rect x="984.1" y="309" width="0.6" height="15.0" fill="rgb(219,85,52)" rx="2" ry="2" />
<text x="987.11" y="319.5" ></text>
</g>
<g >
<title>vmonyx`proc_event_exit_syscall(long, long) (5 samples, 0.01%)</title><rect x="1025.9" y="325" width="0.1" height="15.0" fill="rgb(239,219,29)" rx="2" ry="2" />
<text x="1028.86" y="335.5" ></text>
</g>
<g >
<title>vmonyx`__file_close_unlocked(int, process*) (153 samples, 0.39%)</title><rect x="25.9" y="277" width="4.6" height="15.0" fill="rgb(224,52,33)" rx="2" ry="2" />
<text x="28.86" y="287.5" ></text>
</g>
<g >
<title>vmonyx`vm_allocate_base(mm_address_space*, unsigned long, unsigned long) (127 samples, 0.33%)</title><rect x="999.3" y="245" width="3.9" height="15.0" fill="rgb(238,68,43)" rx="2" ry="2" />
<text x="1002.31" y="255.5" ></text>
</g>
<g >
<title>vmonyx`vmo_get(vm_object*, unsigned long, unsigned int, page**) (28 samples, 0.07%)</title><rect x="16.0" y="213" width="0.8" height="15.0" fill="rgb(238,68,30)" rx="2" ry="2" />
<text x="18.96" y="223.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (7,373 samples, 18.92%)</title><rect x="421.2" y="181" width="223.2" height="15.0" fill="rgb(254,165,36)" rx="2" ry="2" />
<text x="424.20" y="191.5" >vmonyx`__rw_lock_read(rwlock*..</text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (12 samples, 0.03%)</title><rect x="666.3" y="101" width="0.4" height="15.0" fill="rgb(209,120,4)" rx="2" ry="2" />
<text x="669.33" y="111.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (61 samples, 0.16%)</title><rect x="400.5" y="53" width="1.8" height="15.0" fill="rgb(218,172,49)" rx="2" ry="2" />
<text x="403.47" y="63.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_write(rwlock*, int) (783 samples, 2.01%)</title><rect x="646.0" y="149" width="23.7" height="15.0" fill="rgb(217,161,22)" rx="2" ry="2" />
<text x="648.96" y="159.5" >v..</text>
</g>
<g >
<title>vmonyx`node_next (4 samples, 0.01%)</title><rect x="201.4" y="261" width="0.1" height="15.0" fill="rgb(216,77,19)" rx="2" ry="2" />
<text x="204.42" y="271.5" ></text>
</g>
<g >
<title>vmonyx`__bin_chunk (44 samples, 0.11%)</title><rect x="174.8" y="245" width="1.3" height="15.0" fill="rgb(228,133,45)" rx="2" ry="2" />
<text x="177.78" y="255.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (2,220 samples, 5.70%)</title><rect x="862.6" y="133" width="67.2" height="15.0" fill="rgb(227,10,24)" rx="2" ry="2" />
<text x="865.56" y="143.5" >vmonyx`..</text>
</g>
<g >
<title>vmonyx`0xffffffff801a54fc (84 samples, 0.22%)</title><rect x="10.0" y="325" width="2.6" height="15.0" fill="rgb(238,162,41)" rx="2" ry="2" />
<text x="13.03" y="335.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (5 samples, 0.01%)</title><rect x="407.6" y="149" width="0.1" height="15.0" fill="rgb(224,180,6)" rx="2" ry="2" />
<text x="410.58" y="159.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (11 samples, 0.03%)</title><rect x="175.8" y="229" width="0.3" height="15.0" fill="rgb(238,51,2)" rx="2" ry="2" />
<text x="178.78" y="239.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4,710 samples, 12.08%)</title><rect x="473.1" y="133" width="142.6" height="15.0" fill="rgb(243,165,18)" rx="2" ry="2" />
<text x="476.06" y="143.5" >vmonyx`spin_lock</text>
</g>
<g >
<title>vmonyx`strlen (4 samples, 0.01%)</title><rect x="780.6" y="245" width="0.1" height="15.0" fill="rgb(238,107,2)" rx="2" ry="2" />
<text x="783.61" y="255.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (65 samples, 0.17%)</title><rect x="406.6" y="165" width="2.0" height="15.0" fill="rgb(254,147,30)" rx="2" ry="2" />
<text x="409.58" y="175.5" ></text>
</g>
<g >
<title>vmonyx`__bin_chunk (17 samples, 0.04%)</title><rect x="804.5" y="133" width="0.5" height="15.0" fill="rgb(242,219,19)" rx="2" ry="2" />
<text x="807.50" y="143.5" ></text>
</g>
<g >
<title>vmonyx`signal_is_pending (9 samples, 0.02%)</title><rect x="1189.6" y="325" width="0.2" height="15.0" fill="rgb(236,18,13)" rx="2" ry="2" />
<text x="1192.58" y="335.5" ></text>
</g>
<g >
<title>vmonyx`get_dirfd_file(int) (8 samples, 0.02%)</title><rect x="34.2" y="261" width="0.3" height="15.0" fill="rgb(254,174,9)" rx="2" ry="2" />
<text x="37.25" y="271.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)0&gt;::lock (28 samples, 0.07%)</title><rect x="781.7" y="197" width="0.8" height="15.0" fill="rgb(223,43,1)" rx="2" ry="2" />
<text x="784.70" y="207.5" ></text>
</g>
<g >
<title>vmonyx`vm_reserve_region(mm_address_space*, unsigned long, unsigned long) (209 samples, 0.54%)</title><rect x="1003.2" y="245" width="6.3" height="15.0" fill="rgb(220,34,34)" rx="2" ry="2" />
<text x="1006.15" y="255.5" ></text>
</g>
<g >
<title>vmonyx`tree_search_le_node (9 samples, 0.02%)</title><rect x="177.4" y="213" width="0.3" height="15.0" fill="rgb(223,197,45)" rx="2" ry="2" />
<text x="180.38" y="223.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (25 samples, 0.06%)</title><rect x="276.7" y="101" width="0.8" height="15.0" fill="rgb(209,46,21)" rx="2" ry="2" />
<text x="279.71" y="111.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)1&gt;::unlock (3,685 samples, 9.45%)</title><rect x="283.8" y="149" width="111.6" height="15.0" fill="rgb(217,131,11)" rx="2" ry="2" />
<text x="286.79" y="159.5" >vmonyx`scoped..</text>
</g>
<g >
<title>vmonyx`vm_handle_page_fault(fault_info*) (166 samples, 0.43%)</title><rect x="13.6" y="277" width="5.0" height="15.0" fill="rgb(231,156,15)" rx="2" ry="2" />
<text x="16.60" y="287.5" ></text>
</g>
<g >
<title>vmonyx`mutex_lock(mutex*) (4 samples, 0.01%)</title><rect x="1023.5" y="213" width="0.1" height="15.0" fill="rgb(250,43,2)" rx="2" ry="2" />
<text x="1026.47" y="223.5" ></text>
</g>
<g >
<title>vmonyx`vm_mmap(void*, unsigned long, int, int, file*, long) (437 samples, 1.12%)</title><rect x="998.2" y="293" width="13.3" height="15.0" fill="rgb(253,74,16)" rx="2" ry="2" />
<text x="1001.25" y="303.5" ></text>
</g>
<g >
<title>vmonyx`dequeue_thread_rwlock(rwlock*, thread*) (507 samples, 1.30%)</title><rect x="651.3" y="133" width="15.4" height="15.0" fill="rgb(223,40,46)" rx="2" ry="2" />
<text x="654.34" y="143.5" ></text>
</g>
<g >
<title>vmonyx`dequeue_thread_rwlock(rwlock*, thread*) (977 samples, 2.51%)</title><rect x="821.9" y="149" width="29.6" height="15.0" fill="rgb(254,67,31)" rx="2" ry="2" />
<text x="824.90" y="159.5" >vm..</text>
</g>
<g >
<title>vmonyx`sys_open(char const*, int, unsigned int) (19,294 samples, 49.50%)</title><rect x="206.1" y="293" width="584.0" height="15.0" fill="rgb(254,201,37)" rx="2" ry="2" />
<text x="209.05" y="303.5" >vmonyx`sys_open(char const*, int, unsigned int)</text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::find_first_not_of (6 samples, 0.02%)</title><rect x="799.1" y="181" width="0.2" height="15.0" fill="rgb(205,30,15)" rx="2" ry="2" />
<text x="802.08" y="191.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (25 samples, 0.06%)</title><rect x="979.1" y="165" width="0.8" height="15.0" fill="rgb(220,25,7)" rx="2" ry="2" />
<text x="982.15" y="175.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (30 samples, 0.08%)</title><rect x="806.2" y="69" width="0.9" height="15.0" fill="rgb(214,100,38)" rx="2" ry="2" />
<text x="809.16" y="79.5" ></text>
</g>
<g >
<title>vmonyx`__get_file_description(int, process*) (12 samples, 0.03%)</title><rect x="1011.8" y="293" width="0.3" height="15.0" fill="rgb(225,38,7)" rx="2" ry="2" />
<text x="1014.78" y="303.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched_if_needed (15 samples, 0.04%)</title><rect x="851.0" y="101" width="0.5" height="15.0" fill="rgb(214,166,1)" rx="2" ry="2" />
<text x="854.03" y="111.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (2,037 samples, 5.23%)</title><rect x="102.3" y="165" width="61.7" height="15.0" fill="rgb(237,71,45)" rx="2" ry="2" />
<text x="105.30" y="175.5" >vmonyx..</text>
</g>
<g >
<title>vmonyx`__sys_munmap_thunk(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) (1,115 samples, 2.86%)</title><rect x="172.1" y="309" width="33.7" height="15.0" fill="rgb(226,22,29)" rx="2" ry="2" />
<text x="175.08" y="319.5" >vm..</text>
</g>
<g >
<title>vmonyx`__dentry_resolve_path(nameidata&amp;) (6,088 samples, 15.62%)</title><rect x="795.7" y="213" width="184.3" height="15.0" fill="rgb(237,203,47)" rx="2" ry="2" />
<text x="798.69" y="223.5" >vmonyx`__dentry_resolve_..</text>
</g>
<g >
<title>vmonyx`dentry_compare_name(dentry*, std::basic_string_view (5 samples, 0.01%)</title><rect x="798.0" y="181" width="0.2" height="15.0" fill="rgb(244,163,40)" rx="2" ry="2" />
<text x="801.05" y="191.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_first (11 samples, 0.03%)</title><rect x="802.9" y="133" width="0.3" height="15.0" fill="rgb(252,15,23)" rx="2" ry="2" />
<text x="805.86" y="143.5" ></text>
</g>
<g >
<title>vmonyx`rwlock::rwlock (7 samples, 0.02%)</title><rect x="215.7" y="149" width="0.3" height="15.0" fill="rgb(234,172,13)" rx="2" ry="2" />
<text x="218.74" y="159.5" ></text>
</g>
<g >
<title>vmonyx`__malloc0 (81 samples, 0.21%)</title><rect x="410.6" y="213" width="2.4" height="15.0" fill="rgb(219,211,11)" rx="2" ry="2" />
<text x="413.58" y="223.5" ></text>
</g>
<g >
<title>vmonyx`alloc_fwd (16 samples, 0.04%)</title><rect x="175.1" y="229" width="0.5" height="15.0" fill="rgb(254,3,44)" rx="2" ry="2" />
<text x="178.14" y="239.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::scoped_mutex (4 samples, 0.01%)</title><rect x="1023.5" y="229" width="0.1" height="15.0" fill="rgb(206,7,30)" rx="2" ry="2" />
<text x="1026.47" y="239.5" ></text>
</g>
<g >
<title>vmonyx`dentry_compare_name(dentry*, std::basic_string_view (6 samples, 0.02%)</title><rect x="979.7" y="149" width="0.1" height="15.0" fill="rgb(224,85,25)" rx="2" ry="2" />
<text x="982.66" y="159.5" ></text>
</g>
<g >
<title>vmonyx`superblock_add_inode(superblock*, inode*) (67 samples, 0.17%)</title><rect x="404.5" y="133" width="2.0" height="15.0" fill="rgb(245,173,11)" rx="2" ry="2" />
<text x="407.49" y="143.5" ></text>
</g>
<g >
<title>vmonyx`get_current_directory() (4 samples, 0.01%)</title><rect x="34.1" y="261" width="0.1" height="15.0" fill="rgb(214,216,25)" rx="2" ry="2" />
<text x="37.13" y="271.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (5 samples, 0.01%)</title><rect x="997.9" y="245" width="0.1" height="15.0" fill="rgb(224,155,19)" rx="2" ry="2" />
<text x="1000.88" y="255.5" ></text>
</g>
<g >
<title>vmonyx`get_mapping_info(void*) (6 samples, 0.02%)</title><rect x="17.0" y="261" width="0.2" height="15.0" fill="rgb(250,78,19)" rx="2" ry="2" />
<text x="20.02" y="271.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (7 samples, 0.02%)</title><rect x="190.4" y="197" width="0.2" height="15.0" fill="rgb(210,218,14)" rx="2" ry="2" />
<text x="193.37" y="207.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (14 samples, 0.04%)</title><rect x="16.3" y="197" width="0.4" height="15.0" fill="rgb(224,147,7)" rx="2" ry="2" />
<text x="19.27" y="207.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (1,595 samples, 4.09%)</title><rect x="723.1" y="149" width="48.2" height="15.0" fill="rgb(235,193,47)" rx="2" ry="2" />
<text x="726.06" y="159.5" >vmon..</text>
</g>
<g >
<title>vmonyx`creat_vfs(dentry*, char const*, int) (6,716 samples, 17.23%)</title><rect x="209.7" y="261" width="203.4" height="15.0" fill="rgb(242,151,1)" rx="2" ry="2" />
<text x="212.74" y="271.5" >vmonyx`creat_vfs(dentry*, ..</text>
</g>
<g >
<title>vmonyx`remove_node (111 samples, 0.28%)</title><rect x="191.0" y="213" width="3.4" height="15.0" fill="rgb(238,32,54)" rx="2" ry="2" />
<text x="194.04" y="223.5" ></text>
</g>
<g >
<title>vmonyx`sys_lstat(char const*, stat*) (5 samples, 0.01%)</title><rect x="997.3" y="309" width="0.2" height="15.0" fill="rgb(254,24,33)" rx="2" ry="2" />
<text x="1000.34" y="319.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::find_first_not_of (5 samples, 0.01%)</title><rect x="166.0" y="197" width="0.2" height="15.0" fill="rgb(240,98,31)" rx="2" ry="2" />
<text x="169.00" y="207.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (8 samples, 0.02%)</title><rect x="799.4" y="181" width="0.3" height="15.0" fill="rgb(216,224,43)" rx="2" ry="2" />
<text x="802.44" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (22 samples, 0.06%)</title><rect x="1020.3" y="229" width="0.7" height="15.0" fill="rgb(218,94,19)" rx="2" ry="2" />
<text x="1023.29" y="239.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (59 samples, 0.15%)</title><rect x="207.5" y="261" width="1.8" height="15.0" fill="rgb(215,50,38)" rx="2" ry="2" />
<text x="210.53" y="271.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (9 samples, 0.02%)</title><rect x="997.8" y="277" width="0.2" height="15.0" fill="rgb(219,40,26)" rx="2" ry="2" />
<text x="1000.76" y="287.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (2,038 samples, 5.23%)</title><rect x="102.3" y="181" width="61.7" height="15.0" fill="rgb(232,70,42)" rx="2" ry="2" />
<text x="105.27" y="191.5" >vmonyx..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (123 samples, 0.32%)</title><rect x="615.7" y="149" width="3.7" height="15.0" fill="rgb(231,37,27)" rx="2" ry="2" />
<text x="618.65" y="159.5" ></text>
</g>
<g >
<title>vmonyx`fd_put(file*) (12 samples, 0.03%)</title><rect x="792.3" y="277" width="0.4" height="15.0" fill="rgb(230,44,52)" rx="2" ry="2" />
<text x="795.30" y="287.5" ></text>
</g>
<g >
<title>vmonyx`rwlock_prepare_sleep(rwlock*, int) (804 samples, 2.06%)</title><rect x="620.0" y="165" width="24.4" height="15.0" fill="rgb(248,211,37)" rx="2" ry="2" />
<text x="623.01" y="175.5" >v..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (20 samples, 0.05%)</title><rect x="775.8" y="165" width="0.6" height="15.0" fill="rgb(246,147,28)" rx="2" ry="2" />
<text x="778.77" y="175.5" ></text>
</g>
<g >
<title>vmonyx`vm_map_range(void*, unsigned long, unsigned long) (9 samples, 0.02%)</title><rect x="1005.1" y="165" width="0.3" height="15.0" fill="rgb(214,54,29)" rx="2" ry="2" />
<text x="1008.09" y="175.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (15 samples, 0.04%)</title><rect x="30.9" y="245" width="0.4" height="15.0" fill="rgb(253,100,13)" rx="2" ry="2" />
<text x="33.86" y="255.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (12 samples, 0.03%)</title><rect x="404.7" y="117" width="0.4" height="15.0" fill="rgb(249,182,0)" rx="2" ry="2" />
<text x="407.71" y="127.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (6 samples, 0.02%)</title><rect x="413.4" y="229" width="0.2" height="15.0" fill="rgb(249,136,5)" rx="2" ry="2" />
<text x="416.42" y="239.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (12 samples, 0.03%)</title><rect x="172.7" y="277" width="0.4" height="15.0" fill="rgb(226,25,22)" rx="2" ry="2" />
<text x="175.69" y="287.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (57 samples, 0.15%)</title><rect x="26.4" y="245" width="1.8" height="15.0" fill="rgb(210,205,24)" rx="2" ry="2" />
<text x="29.44" y="255.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (107 samples, 0.27%)</title><rect x="693.3" y="117" width="3.2" height="15.0" fill="rgb(222,149,33)" rx="2" ry="2" />
<text x="696.30" y="127.5" ></text>
</g>
<g >
<title>vmonyx`dentry_do_unlink(dentry*) (31 samples, 0.08%)</title><rect x="809.3" y="181" width="0.9" height="15.0" fill="rgb(221,228,13)" rx="2" ry="2" />
<text x="812.25" y="191.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (4 samples, 0.01%)</title><rect x="799.3" y="149" width="0.1" height="15.0" fill="rgb(249,7,19)" rx="2" ry="2" />
<text x="802.32" y="159.5" ></text>
</g>
<g >
<title>vmonyx`__bin_chunk (106 samples, 0.27%)</title><rect x="191.1" y="197" width="3.2" height="15.0" fill="rgb(212,101,23)" rx="2" ry="2" />
<text x="194.10" y="207.5" ></text>
</g>
<g >
<title>vmonyx`__bin_chunk (18 samples, 0.05%)</title><rect x="801.2" y="165" width="0.5" height="15.0" fill="rgb(244,161,9)" rx="2" ry="2" />
<text x="804.20" y="175.5" ></text>
</g>
<g >
<title>vmonyx`node_next (73 samples, 0.19%)</title><rect x="202.2" y="245" width="2.2" height="15.0" fill="rgb(241,226,2)" rx="2" ry="2" />
<text x="205.24" y="255.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_search_ge (26 samples, 0.07%)</title><rect x="1002.3" y="229" width="0.8" height="15.0" fill="rgb(240,45,11)" rx="2" ry="2" />
<text x="1005.30" y="239.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (7 samples, 0.02%)</title><rect x="403.3" y="85" width="0.3" height="15.0" fill="rgb(208,199,1)" rx="2" ry="2" />
<text x="406.34" y="95.5" ></text>
</g>
<g >
<title>vmonyx`thread_wake_up(thread*) (52 samples, 0.13%)</title><rect x="771.8" y="165" width="1.6" height="15.0" fill="rgb(206,69,28)" rx="2" ry="2" />
<text x="774.83" y="175.5" ></text>
</g>
<g >
<title>vmonyx`cache_to_paging_bits(unsigned char) (6 samples, 0.02%)</title><rect x="15.1" y="197" width="0.2" height="15.0" fill="rgb(206,217,28)" rx="2" ry="2" />
<text x="18.09" y="207.5" ></text>
</g>
<g >
<title>vmonyx`strcpy_from_user (52 samples, 0.13%)</title><rect x="170.4" y="261" width="1.6" height="15.0" fill="rgb(225,61,13)" rx="2" ry="2" />
<text x="173.42" y="271.5" ></text>
</g>
<g >
<title>vmonyx`rb_tree_clear (80 samples, 0.21%)</title><rect x="806.0" y="101" width="2.4" height="15.0" fill="rgb(219,101,36)" rx="2" ry="2" />
<text x="808.95" y="111.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (43 samples, 0.11%)</title><rect x="214.1" y="149" width="1.3" height="15.0" fill="rgb(219,81,13)" rx="2" ry="2" />
<text x="217.07" y="159.5" ></text>
</g>
<g >
<title>vmonyx`dequeue_thread_rwlock(rwlock*, thread*) (1,454 samples, 3.73%)</title><rect x="233.4" y="117" width="44.1" height="15.0" fill="rgb(224,128,16)" rx="2" ry="2" />
<text x="236.45" y="127.5" >vmon..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (6 samples, 0.02%)</title><rect x="409.0" y="133" width="0.2" height="15.0" fill="rgb(236,65,30)" rx="2" ry="2" />
<text x="412.03" y="143.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (7 samples, 0.02%)</title><rect x="31.3" y="261" width="0.2" height="15.0" fill="rgb(217,183,6)" rx="2" ry="2" />
<text x="34.31" y="271.5" ></text>
</g>
<g >
<title>vmonyx`inode_create_vmo(inode*) (187 samples, 0.48%)</title><rect x="396.7" y="117" width="5.6" height="15.0" fill="rgb(209,26,29)" rx="2" ry="2" />
<text x="399.65" y="127.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (7 samples, 0.02%)</title><rect x="644.1" y="149" width="0.3" height="15.0" fill="rgb(209,21,52)" rx="2" ry="2" />
<text x="647.14" y="159.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="408.2" y="117" width="0.1" height="15.0" fill="rgb(249,213,51)" rx="2" ry="2" />
<text x="411.19" y="127.5" ></text>
</g>
<g >
<title>vmonyx`__vm_munmap(mm_address_space*, void*, unsigned long) (787 samples, 2.02%)</title><rect x="173.9" y="261" width="23.8" height="15.0" fill="rgb(232,205,4)" rx="2" ry="2" />
<text x="176.87" y="271.5" >v..</text>
</g>
<g >
<title>vmonyx`tree_search_le_node (11 samples, 0.03%)</title><rect x="176.4" y="181" width="0.3" height="15.0" fill="rgb(215,16,34)" rx="2" ry="2" />
<text x="179.35" y="191.5" ></text>
</g>
<g >
<title>vmonyx`sys_lseek(int, long, int) (18 samples, 0.05%)</title><rect x="996.8" y="309" width="0.5" height="15.0" fill="rgb(235,227,45)" rx="2" ry="2" />
<text x="999.79" y="319.5" ></text>
</g>
<g >
<title>vmonyx`dentry_compare_name(dentry*, std::basic_string_view (13 samples, 0.03%)</title><rect x="93.8" y="197" width="0.4" height="15.0" fill="rgb(216,104,26)" rx="2" ry="2" />
<text x="96.80" y="207.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (8 samples, 0.02%)</title><rect x="17.4" y="213" width="0.2" height="15.0" fill="rgb(237,149,24)" rx="2" ry="2" />
<text x="20.39" y="223.5" ></text>
</g>
<g >
<title>vmonyx`vm_unmap_every_region_in_range(mm_address_space*, unsigned long, unsigned long) (1,070 samples, 2.75%)</title><rect x="173.4" y="277" width="32.3" height="15.0" fill="rgb(223,75,6)" rx="2" ry="2" />
<text x="176.36" y="287.5" >vm..</text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (8 samples, 0.02%)</title><rect x="164.0" y="165" width="0.2" height="15.0" fill="rgb(250,50,1)" rx="2" ry="2" />
<text x="167.00" y="175.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb2 (4 samples, 0.01%)</title><rect x="619.2" y="101" width="0.1" height="15.0" fill="rgb(241,228,27)" rx="2" ry="2" />
<text x="622.19" y="111.5" ></text>
</g>
<g >
<title>vmonyx`vmo_assign_mapping(vm_object*, vm_region*) (17 samples, 0.04%)</title><rect x="1010.9" y="261" width="0.5" height="15.0" fill="rgb(207,15,10)" rx="2" ry="2" />
<text x="1013.93" y="271.5" ></text>
</g>
<g >
<title>vmonyx`inode_can_access(inode*, unsigned int) (18 samples, 0.05%)</title><rect x="799.3" y="197" width="0.5" height="15.0" fill="rgb(209,38,3)" rx="2" ry="2" />
<text x="802.29" y="207.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (20 samples, 0.05%)</title><rect x="1020.3" y="213" width="0.6" height="15.0" fill="rgb(223,13,32)" rx="2" ry="2" />
<text x="1023.32" y="223.5" ></text>
</g>
<g >
<title>vmonyx`vm_cmp(void const*, void const*) (4 samples, 0.01%)</title><rect x="18.4" y="197" width="0.2" height="15.0" fill="rgb(230,157,15)" rx="2" ry="2" />
<text x="21.45" y="207.5" ></text>
</g>
<g >
<title>vmonyx`free_page(page*) (4 samples, 0.01%)</title><rect x="1012.8" y="261" width="0.2" height="15.0" fill="rgb(242,168,35)" rx="2" ry="2" />
<text x="1015.84" y="271.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched_if_needed (11 samples, 0.03%)</title><rect x="666.3" y="85" width="0.4" height="15.0" fill="rgb(237,3,47)" rx="2" ry="2" />
<text x="669.33" y="95.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (5 samples, 0.01%)</title><rect x="802.7" y="133" width="0.2" height="15.0" fill="rgb(223,159,36)" rx="2" ry="2" />
<text x="805.71" y="143.5" ></text>
</g>
<g >
<title>vmonyx`inode_create_vmo(inode*) (5 samples, 0.01%)</title><rect x="396.5" y="133" width="0.1" height="15.0" fill="rgb(206,68,33)" rx="2" ry="2" />
<text x="399.47" y="143.5" ></text>
</g>
<g >
<title>vmonyx`get_current_directory() (21 samples, 0.05%)</title><rect x="791.6" y="245" width="0.6" height="15.0" fill="rgb(243,175,35)" rx="2" ry="2" />
<text x="794.60" y="255.5" ></text>
</g>
<g >
<title>vmonyx`get_token_from_path(nameidata&amp;) (15 samples, 0.04%)</title><rect x="798.8" y="197" width="0.5" height="15.0" fill="rgb(230,117,44)" rx="2" ry="2" />
<text x="801.84" y="207.5" ></text>
</g>
<g >
<title>vmonyx`auto_file::from_dirfd (24 samples, 0.06%)</title><rect x="791.6" y="277" width="0.7" height="15.0" fill="rgb(232,208,53)" rx="2" ry="2" />
<text x="794.57" y="287.5" ></text>
</g>
<g >
<title>vmonyx`do_syscall64 (33,079 samples, 84.87%)</title><rect x="24.4" y="325" width="1001.4" height="15.0" fill="rgb(253,79,39)" rx="2" ry="2" />
<text x="27.38" y="335.5" >vmonyx`do_syscall64</text>
</g>
<g >
<title>vmonyx`inode_unref(inode*) (4 samples, 0.01%)</title><rect x="29.9" y="261" width="0.1" height="15.0" fill="rgb(221,25,46)" rx="2" ry="2" />
<text x="32.86" y="271.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (46 samples, 0.12%)</title><rect x="32.6" y="261" width="1.4" height="15.0" fill="rgb(208,149,28)" rx="2" ry="2" />
<text x="35.64" y="271.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_datum (13 samples, 0.03%)</title><rect x="1001.9" y="229" width="0.4" height="15.0" fill="rgb(232,174,11)" rx="2" ry="2" />
<text x="1004.91" y="239.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4 samples, 0.01%)</title><rect x="997.8" y="245" width="0.1" height="15.0" fill="rgb(253,184,14)" rx="2" ry="2" />
<text x="1000.76" y="255.5" ></text>
</g>
<g >
<title>vmonyx`malloc (46 samples, 0.12%)</title><rect x="397.7" y="69" width="1.3" height="15.0" fill="rgb(212,106,39)" rx="2" ry="2" />
<text x="400.65" y="79.5" ></text>
</g>
<g >
<title>vmonyx`malloc (107 samples, 0.27%)</title><rect x="399.1" y="69" width="3.2" height="15.0" fill="rgb(221,154,26)" rx="2" ry="2" />
<text x="402.07" y="79.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (28 samples, 0.07%)</title><rect x="30.7" y="277" width="0.9" height="15.0" fill="rgb(219,51,26)" rx="2" ry="2" />
<text x="33.71" y="287.5" ></text>
</g>
<g >
<title>vmonyx`vmo_destroy(vm_object*) (106 samples, 0.27%)</title><rect x="805.2" y="133" width="3.2" height="15.0" fill="rgb(208,8,38)" rx="2" ry="2" />
<text x="808.16" y="143.5" ></text>
</g>
<g >
<title>vmonyx`inode_to_file(inode*) (106 samples, 0.27%)</title><rect x="777.4" y="245" width="3.2" height="15.0" fill="rgb(215,75,8)" rx="2" ry="2" />
<text x="780.40" y="255.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (5 samples, 0.01%)</title><rect x="798.3" y="165" width="0.1" height="15.0" fill="rgb(243,20,5)" rx="2" ry="2" />
<text x="801.29" y="175.5" ></text>
</g>
<g >
<title>vmonyx`inode_ref(inode*) (5 samples, 0.01%)</title><rect x="167.6" y="261" width="0.2" height="15.0" fill="rgb(249,10,21)" rx="2" ry="2" />
<text x="170.60" y="271.5" ></text>
</g>
<g >
<title>vmonyx`sys_fstatat(int, char const*, stat*, int) (4,628 samples, 11.87%)</title><rect x="31.9" y="293" width="140.2" height="15.0" fill="rgb(208,35,50)" rx="2" ry="2" />
<text x="34.95" y="303.5" >vmonyx`sys_fstata..</text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_threads(rwlock*) (3,681 samples, 9.44%)</title><rect x="283.9" y="133" width="111.4" height="15.0" fill="rgb(227,85,48)" rx="2" ry="2" />
<text x="286.85" y="143.5" >vmonyx`rw_loc..</text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (9 samples, 0.02%)</title><rect x="1005.1" y="133" width="0.3" height="15.0" fill="rgb(235,3,18)" rx="2" ry="2" />
<text x="1008.09" y="143.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (8 samples, 0.02%)</title><rect x="85.1" y="181" width="0.2" height="15.0" fill="rgb(254,173,23)" rx="2" ry="2" />
<text x="88.08" y="191.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (4 samples, 0.01%)</title><rect x="811.4" y="133" width="0.1" height="15.0" fill="rgb(213,1,23)" rx="2" ry="2" />
<text x="814.40" y="143.5" ></text>
</g>
<g >
<title>vmonyx`creds_get() (16 samples, 0.04%)</title><rect x="396.0" y="133" width="0.5" height="15.0" fill="rgb(226,122,15)" rx="2" ry="2" />
<text x="398.99" y="143.5" ></text>
</g>
<g >
<title>vmonyx`sys_open(char const*, int, unsigned int) (6 samples, 0.02%)</title><rect x="1011.5" y="309" width="0.2" height="15.0" fill="rgb(221,181,35)" rx="2" ry="2" />
<text x="1014.51" y="319.5" ></text>
</g>
<g >
<title>vmonyx`file_write_cache(void*, unsigned long, inode*, unsigned long) (423 samples, 1.09%)</title><rect x="1012.6" y="277" width="12.8" height="15.0" fill="rgb(216,100,8)" rx="2" ry="2" />
<text x="1015.57" y="287.5" ></text>
</g>
<g >
<title>vmonyx`sched_unlock(thread*, unsigned long) (35 samples, 0.09%)</title><rect x="977.8" y="133" width="1.0" height="15.0" fill="rgb(213,20,41)" rx="2" ry="2" />
<text x="980.78" y="143.5" ></text>
</g>
<g >
<title>vmonyx`vmo_add_page(unsigned long, page*, vm_object*) (107 samples, 0.27%)</title><rect x="1020.1" y="245" width="3.3" height="15.0" fill="rgb(244,134,25)" rx="2" ry="2" />
<text x="1023.14" y="255.5" ></text>
</g>
<g >
<title>vmonyx`x86_mmu_unmap(PML*, unsigned int, page_table_iterator&amp;) (378 samples, 0.97%)</title><rect x="177.9" y="229" width="11.5" height="15.0" fill="rgb(220,102,26)" rx="2" ry="2" />
<text x="180.93" y="239.5" ></text>
</g>
<g >
<title>vmonyx`__vm_handle_pf(vm_region*, fault_info*) (108 samples, 0.28%)</title><rect x="13.8" y="261" width="3.2" height="15.0" fill="rgb(226,15,45)" rx="2" ry="2" />
<text x="16.75" y="271.5" ></text>
</g>
<g >
<title>vmonyx`superblock_add_inode_unlocked(superblock*, inode*) (47 samples, 0.12%)</title><rect x="405.1" y="117" width="1.4" height="15.0" fill="rgb(226,211,26)" rx="2" ry="2" />
<text x="408.10" y="127.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)0&gt;::unlock (12 samples, 0.03%)</title><rect x="1009.7" y="213" width="0.4" height="15.0" fill="rgb(245,161,12)" rx="2" ry="2" />
<text x="1012.69" y="223.5" ></text>
</g>
<g >
<title>vmonyx`inode_sync(inode*) (39 samples, 0.10%)</title><rect x="802.0" y="149" width="1.2" height="15.0" fill="rgb(246,9,10)" rx="2" ry="2" />
<text x="805.05" y="159.5" ></text>
</g>
<g >
<title>vmonyx`rb_itor_next (4 samples, 0.01%)</title><rect x="999.1" y="245" width="0.1" height="15.0" fill="rgb(218,95,0)" rx="2" ry="2" />
<text x="1002.10" y="255.5" ></text>
</g>
<g >
<title>vmonyx`sys_write(int, void const*, unsigned long) (464 samples, 1.19%)</title><rect x="1011.7" y="309" width="14.0" height="15.0" fill="rgb(254,151,35)" rx="2" ry="2" />
<text x="1014.69" y="319.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (5 samples, 0.01%)</title><rect x="1018.4" y="197" width="0.2" height="15.0" fill="rgb(212,196,30)" rx="2" ry="2" />
<text x="1021.44" y="207.5" ></text>
</g>
<g >
<title>vmonyx`vm_map_range(void*, unsigned long, unsigned long) (10 samples, 0.03%)</title><rect x="1018.1" y="165" width="0.3" height="15.0" fill="rgb(225,143,31)" rx="2" ry="2" />
<text x="1021.14" y="175.5" ></text>
</g>
<g >
<title>vmonyx`dentry_try_to_open_locked(std::basic_string_view (1,731 samples, 4.44%)</title><rect x="645.1" y="181" width="52.4" height="15.0" fill="rgb(238,71,35)" rx="2" ry="2" />
<text x="648.14" y="191.5" >vmony..</text>
</g>
<g >
<title>vmonyx`open_vfs_with_flags(file*, char const*, unsigned int) (4,447 samples, 11.41%)</title><rect x="35.1" y="277" width="134.6" height="15.0" fill="rgb(217,167,2)" rx="2" ry="2" />
<text x="38.10" y="287.5" >vmonyx`open_vfs_w..</text>
</g>
<g >
<title>vmonyx`malloc (103 samples, 0.26%)</title><rect x="1016.7" y="213" width="3.2" height="15.0" fill="rgb(248,4,54)" rx="2" ry="2" />
<text x="1019.74" y="223.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (107 samples, 0.27%)</title><rect x="693.3" y="133" width="3.2" height="15.0" fill="rgb(244,89,6)" rx="2" ry="2" />
<text x="696.30" y="143.5" ></text>
</g>
<g >
<title>vmonyx`creds_get() (4 samples, 0.01%)</title><rect x="799.3" y="181" width="0.1" height="15.0" fill="rgb(205,149,3)" rx="2" ry="2" />
<text x="802.32" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (9 samples, 0.02%)</title><rect x="1010.5" y="277" width="0.3" height="15.0" fill="rgb(246,93,20)" rx="2" ry="2" />
<text x="1013.51" y="287.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (166 samples, 0.43%)</title><rect x="18.7" y="293" width="5.0" height="15.0" fill="rgb(226,110,53)" rx="2" ry="2" />
<text x="21.66" y="303.5" ></text>
</g>
<g >
<title>vmonyx`fd_put(file*) (50 samples, 0.13%)</title><rect x="28.3" y="261" width="1.5" height="15.0" fill="rgb(254,194,29)" rx="2" ry="2" />
<text x="31.32" y="271.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)1&gt;::unlock (919 samples, 2.36%)</title><rect x="669.7" y="165" width="27.8" height="15.0" fill="rgb(254,36,51)" rx="2" ry="2" />
<text x="672.66" y="175.5" >v..</text>
</g>
<g >
<title>vmonyx`sched_try_to_resched(thread*) (2,228 samples, 5.72%)</title><rect x="862.3" y="149" width="67.5" height="15.0" fill="rgb(220,67,47)" rx="2" ry="2" />
<text x="865.32" y="159.5" >vmonyx`..</text>
</g>
<g >
<title>vmonyx`creds_get() (5 samples, 0.01%)</title><rect x="811.4" y="165" width="0.2" height="15.0" fill="rgb(222,32,27)" rx="2" ry="2" />
<text x="814.40" y="175.5" ></text>
</g>
<g >
<title>vmonyx`sched_unlock(thread*, unsigned long) (14 samples, 0.04%)</title><rect x="164.5" y="165" width="0.4" height="15.0" fill="rgb(215,29,36)" rx="2" ry="2" />
<text x="167.49" y="175.5" ></text>
</g>
<g >
<title>vmonyx`malloc (76 samples, 0.19%)</title><rect x="1021.1" y="197" width="2.3" height="15.0" fill="rgb(251,26,16)" rx="2" ry="2" />
<text x="1024.07" y="207.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (25 samples, 0.06%)</title><rect x="84.3" y="117" width="0.7" height="15.0" fill="rgb(216,72,30)" rx="2" ry="2" />
<text x="87.29" y="127.5" ></text>
</g>
<g >
<title>vmonyx`vm_mapping_requires_wb(vm_region*) (4 samples, 0.01%)</title><rect x="15.8" y="213" width="0.1" height="15.0" fill="rgb(243,61,29)" rx="2" ry="2" />
<text x="18.75" y="223.5" ></text>
</g>
<g >
<title>vmonyx`tree_search_node (96 samples, 0.25%)</title><rect x="194.4" y="213" width="2.9" height="15.0" fill="rgb(231,170,1)" rx="2" ry="2" />
<text x="197.40" y="223.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (15 samples, 0.04%)</title><rect x="851.0" y="117" width="0.5" height="15.0" fill="rgb(218,88,52)" rx="2" ry="2" />
<text x="854.03" y="127.5" ></text>
</g>
<g >
<title>vmonyx`proc_event_exit_syscall(long, long) (26 samples, 0.07%)</title><rect x="985.0" y="309" width="0.8" height="15.0" fill="rgb(225,12,3)" rx="2" ry="2" />
<text x="988.02" y="319.5" ></text>
</g>
<g >
<title>vmonyx`create_handling::operator()(nameidata&amp;, std::basic_string_view (7 samples, 0.02%)</title><rect x="409.8" y="181" width="0.2" height="15.0" fill="rgb(224,180,11)" rx="2" ry="2" />
<text x="412.82" y="191.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (5 samples, 0.01%)</title><rect x="407.6" y="133" width="0.1" height="15.0" fill="rgb(230,21,8)" rx="2" ry="2" />
<text x="410.58" y="143.5" ></text>
</g>
<g >
<title>vmonyx`sched_unlock(thread*, unsigned long) (48 samples, 0.12%)</title><rect x="393.8" y="101" width="1.5" height="15.0" fill="rgb(239,94,23)" rx="2" ry="2" />
<text x="396.84" y="111.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (14 samples, 0.04%)</title><rect x="1017.7" y="181" width="0.4" height="15.0" fill="rgb(251,24,7)" rx="2" ry="2" />
<text x="1020.68" y="191.5" ></text>
</g>
<g >
<title>vmonyx`malloc (80 samples, 0.21%)</title><rect x="1006.9" y="213" width="2.5" height="15.0" fill="rgb(225,162,5)" rx="2" ry="2" />
<text x="1009.94" y="223.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (30 samples, 0.08%)</title><rect x="1005.6" y="197" width="0.9" height="15.0" fill="rgb(211,69,45)" rx="2" ry="2" />
<text x="1008.60" y="207.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (9 samples, 0.02%)</title><rect x="775.2" y="165" width="0.3" height="15.0" fill="rgb(243,185,46)" rx="2" ry="2" />
<text x="778.19" y="175.5" ></text>
</g>
<g >
<title>vmonyx`strlen (8 samples, 0.02%)</title><rect x="165.4" y="197" width="0.2" height="15.0" fill="rgb(207,45,17)" rx="2" ry="2" />
<text x="168.36" y="207.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (4 samples, 0.01%)</title><rect x="1023.6" y="197" width="0.2" height="15.0" fill="rgb(230,183,31)" rx="2" ry="2" />
<text x="1026.65" y="207.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (11 samples, 0.03%)</title><rect x="175.3" y="213" width="0.3" height="15.0" fill="rgb(207,164,54)" rx="2" ry="2" />
<text x="178.29" y="223.5" ></text>
</g>
<g >
<title>vmonyx`rw_unlock_read(rwlock*) (9 samples, 0.02%)</title><rect x="167.1" y="197" width="0.3" height="15.0" fill="rgb(236,39,34)" rx="2" ry="2" />
<text x="170.12" y="207.5" ></text>
</g>
<g >
<title>vmonyx`strlen (5 samples, 0.01%)</title><rect x="167.5" y="213" width="0.1" height="15.0" fill="rgb(215,129,22)" rx="2" ry="2" />
<text x="170.45" y="223.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::scoped_mutex (4 samples, 0.01%)</title><rect x="802.6" y="133" width="0.1" height="15.0" fill="rgb(242,33,10)" rx="2" ry="2" />
<text x="805.59" y="143.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (4 samples, 0.01%)</title><rect x="799.4" y="165" width="0.2" height="15.0" fill="rgb(251,142,17)" rx="2" ry="2" />
<text x="802.44" y="175.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (494 samples, 1.27%)</title><rect x="651.4" y="117" width="14.9" height="15.0" fill="rgb(238,57,3)" rx="2" ry="2" />
<text x="654.37" y="127.5" ></text>
</g>
<g >
<title>vmonyx`sched_unlock(thread*, unsigned long) (40 samples, 0.10%)</title><rect x="772.2" y="149" width="1.2" height="15.0" fill="rgb(214,198,39)" rx="2" ry="2" />
<text x="775.20" y="159.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (6 samples, 0.02%)</title><rect x="408.0" y="133" width="0.2" height="15.0" fill="rgb(232,193,20)" rx="2" ry="2" />
<text x="411.01" y="143.5" ></text>
</g>
<g >
<title>vmonyx`list_remove(list_head*) (4 samples, 0.01%)</title><rect x="809.8" y="165" width="0.1" height="15.0" fill="rgb(222,115,23)" rx="2" ry="2" />
<text x="812.76" y="175.5" ></text>
</g>
<g >
<title>vmonyx`unlink_handling::operator()(nameidata&amp;, std::basic_string_view (20 samples, 0.05%)</title><rect x="980.1" y="213" width="0.6" height="15.0" fill="rgb(246,120,20)" rx="2" ry="2" />
<text x="983.05" y="223.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (6 samples, 0.02%)</title><rect x="775.6" y="165" width="0.2" height="15.0" fill="rgb(206,142,28)" rx="2" ry="2" />
<text x="778.59" y="175.5" ></text>
</g>
<g >
<title>vmonyx`page_fault_handler(registers*) (174 samples, 0.45%)</title><rect x="13.4" y="293" width="5.3" height="15.0" fill="rgb(234,31,47)" rx="2" ry="2" />
<text x="16.39" y="303.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (8 samples, 0.02%)</title><rect x="798.2" y="181" width="0.2" height="15.0" fill="rgb(251,15,54)" rx="2" ry="2" />
<text x="801.20" y="191.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a4162 (4 samples, 0.01%)</title><rect x="31.6" y="293" width="0.1" height="15.0" fill="rgb(221,26,3)" rx="2" ry="2" />
<text x="34.62" y="303.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)0&gt;::unlock (47 samples, 0.12%)</title><rect x="782.5" y="197" width="1.5" height="15.0" fill="rgb(248,148,54)" rx="2" ry="2" />
<text x="785.55" y="207.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (9 samples, 0.02%)</title><rect x="775.2" y="149" width="0.3" height="15.0" fill="rgb(252,161,40)" rx="2" ry="2" />
<text x="778.19" y="159.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (65 samples, 0.17%)</title><rect x="1014.1" y="229" width="2.0" height="15.0" fill="rgb(207,185,22)" rx="2" ry="2" />
<text x="1017.11" y="239.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (11,817 samples, 30.32%)</title><rect x="417.1" y="197" width="357.7" height="15.0" fill="rgb(244,110,42)" rx="2" ry="2" />
<text x="420.06" y="207.5" >vmonyx`dentry_lookup_internal(std::basic_string_..</text>
</g>
<g >
<title>vmonyx`spin_lock (13 samples, 0.03%)</title><rect x="1020.4" y="181" width="0.4" height="15.0" fill="rgb(237,150,39)" rx="2" ry="2" />
<text x="1023.41" y="191.5" ></text>
</g>
<g >
<title>vmonyx`inode_to_file(inode*) (62 samples, 0.16%)</title><rect x="167.8" y="261" width="1.8" height="15.0" fill="rgb(232,214,30)" rx="2" ry="2" />
<text x="170.76" y="271.5" ></text>
</g>
<g >
<title>vmonyx`sys_mmap(void*, unsigned long, int, int, int, long) (463 samples, 1.19%)</title><rect x="997.5" y="309" width="14.0" height="15.0" fill="rgb(224,82,14)" rx="2" ry="2" />
<text x="1000.49" y="319.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)1&gt;::unlock (16 samples, 0.04%)</title><rect x="1024.7" y="261" width="0.5" height="15.0" fill="rgb(242,176,53)" rx="2" ry="2" />
<text x="1027.71" y="271.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a41a4 (7 samples, 0.02%)</title><rect x="1012.3" y="277" width="0.2" height="15.0" fill="rgb(222,15,2)" rx="2" ry="2" />
<text x="1015.32" y="287.5" ></text>
</g>
<g >
<title>vmonyx`limits_are_contained(vm_region*, unsigned long, unsigned long) (4 samples, 0.01%)</title><rect x="172.3" y="277" width="0.1" height="15.0" fill="rgb(242,102,27)" rx="2" ry="2" />
<text x="175.30" y="287.5" ></text>
</g>
<g >
<title>vmonyx`isr_handler(registers*) (356 samples, 0.91%)</title><rect x="13.4" y="309" width="10.7" height="15.0" fill="rgb(234,199,9)" rx="2" ry="2" />
<text x="16.36" y="319.5" ></text>
</g>
<g >
<title>vmonyx`vm_handle_non_present_pf(vm_pf_context*) (83 samples, 0.21%)</title><rect x="14.5" y="245" width="2.5" height="15.0" fill="rgb(225,188,52)" rx="2" ry="2" />
<text x="17.48" y="255.5" ></text>
</g>
<g >
<title>vmonyx`strlcpy (4 samples, 0.01%)</title><rect x="395.4" y="149" width="0.1" height="15.0" fill="rgb(247,201,50)" rx="2" ry="2" />
<text x="398.35" y="159.5" ></text>
</g>
<g >
<title>vmonyx`vm_mmu_unmap(mm_address_space*, void*, unsigned long) (384 samples, 0.99%)</title><rect x="177.7" y="245" width="11.7" height="15.0" fill="rgb(225,153,38)" rx="2" ry="2" />
<text x="180.75" y="255.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (6 samples, 0.02%)</title><rect x="408.0" y="117" width="0.2" height="15.0" fill="rgb(248,79,36)" rx="2" ry="2" />
<text x="411.01" y="127.5" ></text>
</g>
<g >
<title>vmonyx`free_page(page*) (4 samples, 0.01%)</title><rect x="807.1" y="85" width="0.1" height="15.0" fill="rgb(205,139,1)" rx="2" ry="2" />
<text x="810.10" y="95.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (277 samples, 0.71%)</title><rect x="85.3" y="165" width="8.4" height="15.0" fill="rgb(206,201,12)" rx="2" ry="2" />
<text x="88.32" y="175.5" ></text>
</g>
<g >
<title>vmonyx`vm_allocate_region(mm_address_space*, unsigned long, unsigned long) (381 samples, 0.98%)</title><rect x="998.6" y="261" width="11.5" height="15.0" fill="rgb(224,138,15)" rx="2" ry="2" />
<text x="1001.55" y="271.5" ></text>
</g>
<g >
<title>vmonyx`__dentry_try_to_open(std::basic_string_view (26 samples, 0.07%)</title><rect x="645.1" y="165" width="0.8" height="15.0" fill="rgb(234,192,1)" rx="2" ry="2" />
<text x="648.14" y="175.5" ></text>
</g>
<g >
<title>vmonyx`unlink_vfs(char const*, int, file*) (6,201 samples, 15.91%)</title><rect x="793.1" y="277" width="187.7" height="15.0" fill="rgb(206,172,43)" rx="2" ry="2" />
<text x="796.08" y="287.5" >vmonyx`unlink_vfs(char c..</text>
</g>
<g >
<title>vmonyx`spin_lock (37 samples, 0.09%)</title><rect x="1008.2" y="197" width="1.2" height="15.0" fill="rgb(250,175,9)" rx="2" ry="2" />
<text x="1011.24" y="207.5" ></text>
</g>
<g >
<title>vmonyx`strcpy_from_user (68 samples, 0.17%)</title><rect x="981.3" y="261" width="2.0" height="15.0" fill="rgb(241,198,42)" rx="2" ry="2" />
<text x="984.26" y="271.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (2,504 samples, 6.42%)</title><rect x="697.6" y="181" width="75.8" height="15.0" fill="rgb(229,219,1)" rx="2" ry="2" />
<text x="700.60" y="191.5" >vmonyx`r..</text>
</g>
<g >
<title>vmonyx`paging_map_phys_to_virt(mm_address_space*, unsigned long, unsigned long, unsigned long) (17 samples, 0.04%)</title><rect x="14.8" y="213" width="0.5" height="15.0" fill="rgb(230,222,54)" rx="2" ry="2" />
<text x="17.75" y="223.5" ></text>
</g>
<g >
<title>vmonyx`rb_itor_datum (5 samples, 0.01%)</title><rect x="998.9" y="245" width="0.2" height="15.0" fill="rgb(209,198,12)" rx="2" ry="2" />
<text x="1001.94" y="255.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_first (5 samples, 0.01%)</title><rect x="173.2" y="277" width="0.2" height="15.0" fill="rgb(213,10,9)" rx="2" ry="2" />
<text x="176.20" y="287.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::scoped_mutex (4 samples, 0.01%)</title><rect x="189.9" y="213" width="0.2" height="15.0" fill="rgb(213,86,43)" rx="2" ry="2" />
<text x="192.95" y="223.5" ></text>
</g>
<g >
<title>vmonyx`open_vfs_with_flags(file*, char const*, unsigned int) (12,116 samples, 31.08%)</title><rect x="413.9" y="261" width="366.8" height="15.0" fill="rgb(221,202,8)" rx="2" ry="2" />
<text x="416.94" y="271.5" >vmonyx`open_vfs_with_flags(file*, char const*, un..</text>
</g>
<g >
<title>vmonyx`spin_lock (19 samples, 0.05%)</title><rect x="1004.5" y="181" width="0.6" height="15.0" fill="rgb(219,113,26)" rx="2" ry="2" />
<text x="1007.51" y="191.5" ></text>
</g>
<g >
<title>vmonyx`vm_munmap(mm_address_space*, void*, unsigned long) (1,107 samples, 2.84%)</title><rect x="172.2" y="293" width="33.5" height="15.0" fill="rgb(214,109,35)" rx="2" ry="2" />
<text x="175.24" y="303.5" >vm..</text>
</g>
<g >
<title>vmonyx`dentry_put(dentry*) (28 samples, 0.07%)</title><rect x="28.6" y="245" width="0.8" height="15.0" fill="rgb(209,3,12)" rx="2" ry="2" />
<text x="31.56" y="255.5" ></text>
</g>
<g >
<title>vmonyx`fd_put(file*) (11 samples, 0.03%)</title><rect x="34.6" y="277" width="0.3" height="15.0" fill="rgb(237,65,47)" rx="2" ry="2" />
<text x="37.58" y="287.5" ></text>
</g>
<g >
<title>vmonyx`get_dirfd_file(int) (4 samples, 0.01%)</title><rect x="34.9" y="277" width="0.1" height="15.0" fill="rgb(207,131,28)" rx="2" ry="2" />
<text x="37.92" y="287.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (9 samples, 0.02%)</title><rect x="1018.1" y="133" width="0.3" height="15.0" fill="rgb(252,98,2)" rx="2" ry="2" />
<text x="1021.14" y="143.5" ></text>
</g>
<g >
<title>vmonyx`tmpfs_close(inode*) (4 samples, 0.01%)</title><rect x="809.1" y="165" width="0.1" height="15.0" fill="rgb(237,62,13)" rx="2" ry="2" />
<text x="812.10" y="175.5" ></text>
</g>
<g >
<title>vmonyx`mutex_lock(mutex*) (7 samples, 0.02%)</title><rect x="30.5" y="277" width="0.2" height="15.0" fill="rgb(241,136,27)" rx="2" ry="2" />
<text x="33.50" y="287.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (14 samples, 0.04%)</title><rect x="166.3" y="165" width="0.4" height="15.0" fill="rgb(205,170,44)" rx="2" ry="2" />
<text x="169.27" y="175.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (7 samples, 0.02%)</title><rect x="94.0" y="181" width="0.2" height="15.0" fill="rgb(240,31,30)" rx="2" ry="2" />
<text x="96.98" y="191.5" ></text>
</g>
<g >
<title>vmonyx`paging_map_phys_to_virt(mm_address_space*, unsigned long, unsigned long, unsigned long) (6 samples, 0.02%)</title><rect x="15.3" y="229" width="0.2" height="15.0" fill="rgb(231,74,1)" rx="2" ry="2" />
<text x="18.33" y="239.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (12 samples, 0.03%)</title><rect x="805.5" y="85" width="0.4" height="15.0" fill="rgb(254,23,4)" rx="2" ry="2" />
<text x="808.50" y="95.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::find_first_not_of (4 samples, 0.01%)</title><rect x="408.7" y="149" width="0.2" height="15.0" fill="rgb(247,121,32)" rx="2" ry="2" />
<text x="411.73" y="159.5" ></text>
</g>
<g >
<title>vmonyx`rw_unlock_read(rwlock*) (5 samples, 0.01%)</title><rect x="164.9" y="197" width="0.2" height="15.0" fill="rgb(224,123,28)" rx="2" ry="2" />
<text x="167.91" y="207.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4 samples, 0.01%)</title><rect x="172.7" y="229" width="0.1" height="15.0" fill="rgb(252,50,20)" rx="2" ry="2" />
<text x="175.72" y="239.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (5 samples, 0.01%)</title><rect x="792.1" y="229" width="0.1" height="15.0" fill="rgb(251,161,31)" rx="2" ry="2" />
<text x="795.09" y="239.5" ></text>
</g>
<g >
<title>vmonyx`__expand_heap (9 samples, 0.02%)</title><rect x="1005.1" y="197" width="0.3" height="15.0" fill="rgb(250,161,39)" rx="2" ry="2" />
<text x="1008.09" y="207.5" ></text>
</g>
<g >
<title>vmonyx`__malloc0 (103 samples, 0.26%)</title><rect x="777.5" y="229" width="3.1" height="15.0" fill="rgb(216,207,20)" rx="2" ry="2" />
<text x="780.46" y="239.5" ></text>
</g>
<g >
<title>vmonyx`dentry_resolve(nameidata&amp;) (11,978 samples, 30.73%)</title><rect x="414.5" y="245" width="362.6" height="15.0" fill="rgb(211,101,17)" rx="2" ry="2" />
<text x="417.51" y="255.5" >vmonyx`dentry_resolve(nameidata&amp;)</text>
</g>
<g >
<title>vmonyx`__dentry_resolve_path(nameidata&amp;) (4,353 samples, 11.17%)</title><rect x="35.8" y="229" width="131.8" height="15.0" fill="rgb(228,52,39)" rx="2" ry="2" />
<text x="38.82" y="239.5" >vmonyx`__dentry_..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (6 samples, 0.02%)</title><rect x="809.9" y="149" width="0.2" height="15.0" fill="rgb(224,151,12)" rx="2" ry="2" />
<text x="812.89" y="159.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::find (7 samples, 0.02%)</title><rect x="798.9" y="181" width="0.2" height="15.0" fill="rgb(213,106,49)" rx="2" ry="2" />
<text x="801.87" y="191.5" ></text>
</g>
<g >
<title>vmonyx`validate_fd_number(int, ioctx*) (10 samples, 0.03%)</title><rect x="30.2" y="261" width="0.3" height="15.0" fill="rgb(244,169,31)" rx="2" ry="2" />
<text x="33.19" y="271.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_search_le (12 samples, 0.03%)</title><rect x="177.4" y="229" width="0.3" height="15.0" fill="rgb(212,125,9)" rx="2" ry="2" />
<text x="180.38" y="239.5" ></text>
</g>
<g >
<title>vmonyx`strlen (14 samples, 0.04%)</title><rect x="799.9" y="197" width="0.4" height="15.0" fill="rgb(227,1,33)" rx="2" ry="2" />
<text x="802.93" y="207.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (349 samples, 0.90%)</title><rect x="851.5" y="117" width="10.6" height="15.0" fill="rgb(210,121,26)" rx="2" ry="2" />
<text x="854.51" y="127.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched(thread*) (834 samples, 2.14%)</title><rect x="697.7" y="165" width="25.3" height="15.0" fill="rgb(241,76,22)" rx="2" ry="2" />
<text x="700.72" y="175.5" >v..</text>
</g>
<g >
<title>vmonyx`rb_tree_insert (93 samples, 0.24%)</title><rect x="1006.6" y="229" width="2.8" height="15.0" fill="rgb(220,93,24)" rx="2" ry="2" />
<text x="1009.57" y="239.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_datum (16 samples, 0.04%)</title><rect x="204.4" y="261" width="0.5" height="15.0" fill="rgb(219,69,17)" rx="2" ry="2" />
<text x="207.45" y="271.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (9 samples, 0.02%)</title><rect x="808.6" y="149" width="0.3" height="15.0" fill="rgb(240,29,19)" rx="2" ry="2" />
<text x="811.61" y="159.5" ></text>
</g>
<g >
<title>vmonyx`inode_release(inode*) (214 samples, 0.55%)</title><rect x="801.9" y="165" width="6.5" height="15.0" fill="rgb(250,191,21)" rx="2" ry="2" />
<text x="804.89" y="175.5" ></text>
</g>
<g >
<title>vmonyx`__bin_chunk (8 samples, 0.02%)</title><rect x="403.3" y="101" width="0.3" height="15.0" fill="rgb(214,61,22)" rx="2" ry="2" />
<text x="406.31" y="111.5" ></text>
</g>
<g >
<title>vmonyx`sched_lock(thread*) (6 samples, 0.02%)</title><rect x="164.3" y="165" width="0.2" height="15.0" fill="rgb(250,38,12)" rx="2" ry="2" />
<text x="167.30" y="175.5" ></text>
</g>
<g >
<title>vmonyx`vmo_add_page_unlocked(unsigned long, page*, vm_object*) (80 samples, 0.21%)</title><rect x="1021.0" y="229" width="2.4" height="15.0" fill="rgb(227,24,7)" rx="2" ry="2" />
<text x="1023.95" y="239.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a61ed (356 samples, 0.91%)</title><rect x="13.4" y="325" width="10.7" height="15.0" fill="rgb(210,10,11)" rx="2" ry="2" />
<text x="16.36" y="335.5" ></text>
</g>
<g >
<title>vmonyx`stat_vfs(stat*, file*) (5 samples, 0.01%)</title><rect x="169.8" y="277" width="0.1" height="15.0" fill="rgb(239,34,19)" rx="2" ry="2" />
<text x="172.75" y="287.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (1,427 samples, 3.66%)</title><rect x="233.5" y="85" width="43.2" height="15.0" fill="rgb(205,188,23)" rx="2" ry="2" />
<text x="236.51" y="95.5" >vmon..</text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (106 samples, 0.27%)</title><rect x="616.0" y="101" width="3.2" height="15.0" fill="rgb(232,100,49)" rx="2" ry="2" />
<text x="618.98" y="111.5" ></text>
</g>
<g >
<title>vmonyx`sched_lock(thread*) (5 samples, 0.01%)</title><rect x="696.6" y="117" width="0.2" height="15.0" fill="rgb(228,180,28)" rx="2" ry="2" />
<text x="699.63" y="127.5" ></text>
</g>
<g >
<title>vmonyx`sched_lock(thread*) (17 samples, 0.04%)</title><rect x="977.3" y="133" width="0.5" height="15.0" fill="rgb(251,201,39)" rx="2" ry="2" />
<text x="980.27" y="143.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (4 samples, 0.01%)</title><rect x="810.1" y="149" width="0.1" height="15.0" fill="rgb(226,92,27)" rx="2" ry="2" />
<text x="813.07" y="159.5" ></text>
</g>
<g >
<title>vmonyx`__bin_chunk (85 samples, 0.22%)</title><rect x="206.7" y="277" width="2.6" height="15.0" fill="rgb(210,170,41)" rx="2" ry="2" />
<text x="209.75" y="287.5" ></text>
</g>
<g >
<title>vmonyx`thread_wake_up(thread*) (27 samples, 0.07%)</title><rect x="696.6" y="133" width="0.9" height="15.0" fill="rgb(211,33,3)" rx="2" ry="2" />
<text x="699.63" y="143.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (10 samples, 0.03%)</title><rect x="190.1" y="197" width="0.3" height="15.0" fill="rgb(230,27,38)" rx="2" ry="2" />
<text x="193.07" y="207.5" ></text>
</g>
<g >
<title>vmonyx`tree_search (4 samples, 0.01%)</title><rect x="16.7" y="197" width="0.1" height="15.0" fill="rgb(240,181,0)" rx="2" ry="2" />
<text x="19.69" y="207.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (4 samples, 0.01%)</title><rect x="997.8" y="261" width="0.1" height="15.0" fill="rgb(249,25,3)" rx="2" ry="2" />
<text x="1000.76" y="271.5" ></text>
</g>
<g >
<title>vmonyx`dentry_resolve(nameidata&amp;) (4,362 samples, 11.19%)</title><rect x="35.6" y="261" width="132.0" height="15.0" fill="rgb(205,225,19)" rx="2" ry="2" />
<text x="38.55" y="271.5" >vmonyx`dentry_re..</text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (7 samples, 0.02%)</title><rect x="785.4" y="261" width="0.2" height="15.0" fill="rgb(224,217,3)" rx="2" ry="2" />
<text x="788.36" y="271.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (6 samples, 0.02%)</title><rect x="16.3" y="165" width="0.2" height="15.0" fill="rgb(229,32,34)" rx="2" ry="2" />
<text x="19.30" y="175.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (6 samples, 0.02%)</title><rect x="409.0" y="117" width="0.2" height="15.0" fill="rgb(236,11,3)" rx="2" ry="2" />
<text x="412.03" y="127.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (29 samples, 0.07%)</title><rect x="790.7" y="261" width="0.8" height="15.0" fill="rgb(240,146,3)" rx="2" ry="2" />
<text x="793.66" y="271.5" ></text>
</g>
<g >
<title>vmonyx`node_next (50 samples, 0.13%)</title><rect x="1000.4" y="213" width="1.5" height="15.0" fill="rgb(236,127,37)" rx="2" ry="2" />
<text x="1003.40" y="223.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_threads(rwlock*) (14 samples, 0.04%)</title><rect x="1024.7" y="245" width="0.5" height="15.0" fill="rgb(252,197,2)" rx="2" ry="2" />
<text x="1027.74" y="255.5" ></text>
</g>
<g >
<title>vmonyx`smp::sync_call_with_local(void (*)(void*), void*, cpumask const&amp;, void (*) (10 samples, 0.03%)</title><rect x="189.0" y="149" width="0.3" height="15.0" fill="rgb(229,45,29)" rx="2" ry="2" />
<text x="192.01" y="159.5" ></text>
</g>
<g >
<title>vmonyx`rb_tree_free (99 samples, 0.25%)</title><rect x="805.4" y="117" width="3.0" height="15.0" fill="rgb(233,114,6)" rx="2" ry="2" />
<text x="808.38" y="127.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched_if_needed (26 samples, 0.07%)</title><rect x="84.3" y="133" width="0.7" height="15.0" fill="rgb(232,107,1)" rx="2" ry="2" />
<text x="87.26" y="143.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (5 samples, 0.01%)</title><rect x="997.9" y="261" width="0.1" height="15.0" fill="rgb(248,20,31)" rx="2" ry="2" />
<text x="1000.88" y="271.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (34 samples, 0.09%)</title><rect x="168.6" y="213" width="1.0" height="15.0" fill="rgb(216,41,22)" rx="2" ry="2" />
<text x="171.60" y="223.5" ></text>
</g>
<g >
<title>vmonyx`tree_search_le_node (16 samples, 0.04%)</title><rect x="18.1" y="213" width="0.5" height="15.0" fill="rgb(245,136,23)" rx="2" ry="2" />
<text x="21.08" y="223.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::find (8 samples, 0.02%)</title><rect x="165.8" y="197" width="0.2" height="15.0" fill="rgb(223,110,49)" rx="2" ry="2" />
<text x="168.76" y="207.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (14 samples, 0.04%)</title><rect x="803.8" y="133" width="0.5" height="15.0" fill="rgb(236,210,42)" rx="2" ry="2" />
<text x="806.83" y="143.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="398.5" y="53" width="0.1" height="15.0" fill="rgb(228,70,51)" rx="2" ry="2" />
<text x="401.50" y="63.5" ></text>
</g>
<g >
<title>vmonyx`process::get_rlimit (80 samples, 0.21%)</title><rect x="781.6" y="213" width="2.4" height="15.0" fill="rgb(216,123,42)" rx="2" ry="2" />
<text x="784.55" y="223.5" ></text>
</g>
<g >
<title>vmonyx`thread_wake_up(thread*) (20 samples, 0.05%)</title><rect x="164.3" y="181" width="0.6" height="15.0" fill="rgb(208,41,11)" rx="2" ry="2" />
<text x="167.30" y="191.5" ></text>
</g>
<g >
<title>vmonyx`__malloc0 (74 samples, 0.19%)</title><rect x="396.8" y="85" width="2.3" height="15.0" fill="rgb(254,155,12)" rx="2" ry="2" />
<text x="399.83" y="95.5" ></text>
</g>
<g >
<title>vmonyx`sys_lseek(int, long, int) (5 samples, 0.01%)</title><rect x="1189.8" y="325" width="0.2" height="15.0" fill="rgb(206,110,20)" rx="2" ry="2" />
<text x="1192.85" y="335.5" ></text>
</g>
<g >
<title>vmonyx`malloc (60 samples, 0.15%)</title><rect x="167.8" y="229" width="1.8" height="15.0" fill="rgb(224,162,29)" rx="2" ry="2" />
<text x="170.82" y="239.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (264 samples, 0.68%)</title><rect x="94.3" y="165" width="8.0" height="15.0" fill="rgb(240,82,47)" rx="2" ry="2" />
<text x="97.28" y="175.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="171.3" y="229" width="0.1" height="15.0" fill="rgb(239,107,0)" rx="2" ry="2" />
<text x="174.33" y="239.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (5 samples, 0.01%)</title><rect x="1023.8" y="197" width="0.1" height="15.0" fill="rgb(208,141,18)" rx="2" ry="2" />
<text x="1026.77" y="207.5" ></text>
</g>
<g >
<title>vmonyx`malloc (103 samples, 0.26%)</title><rect x="777.5" y="213" width="3.1" height="15.0" fill="rgb(234,119,8)" rx="2" ry="2" />
<text x="780.46" y="223.5" ></text>
</g>
<g >
<title>vmonyx`do_sys_unlink(int, char const*, int) (6,377 samples, 16.36%)</title><rect x="790.3" y="293" width="193.0" height="15.0" fill="rgb(217,38,35)" rx="2" ry="2" />
<text x="793.27" y="303.5" >vmonyx`do_sys_unlink(int,..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (962 samples, 2.47%)</title><rect x="821.9" y="133" width="29.1" height="15.0" fill="rgb(221,174,40)" rx="2" ry="2" />
<text x="824.90" y="143.5" >vm..</text>
</g>
<g >
<title>vmonyx`__bin_chunk (70 samples, 0.18%)</title><rect x="26.1" y="261" width="2.1" height="15.0" fill="rgb(236,205,18)" rx="2" ry="2" />
<text x="29.08" y="271.5" ></text>
</g>
<g >
<title>vmonyx`vm_handle_non_present_wp(fault_info*, vm_pf_context*) (43 samples, 0.11%)</title><rect x="15.5" y="229" width="1.3" height="15.0" fill="rgb(238,61,46)" rx="2" ry="2" />
<text x="18.51" y="239.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (4 samples, 0.01%)</title><rect x="798.1" y="165" width="0.1" height="15.0" fill="rgb(213,172,35)" rx="2" ry="2" />
<text x="801.08" y="175.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (11 samples, 0.03%)</title><rect x="1023.6" y="213" width="0.4" height="15.0" fill="rgb(250,104,4)" rx="2" ry="2" />
<text x="1026.65" y="223.5" ></text>
</g>
<g >
<title>vmonyx`tlb_invalidation_tracker::flush (114 samples, 0.29%)</title><rect x="185.9" y="165" width="3.4" height="15.0" fill="rgb(209,3,13)" rx="2" ry="2" />
<text x="188.86" y="175.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_search_le (16 samples, 0.04%)</title><rect x="18.1" y="229" width="0.5" height="15.0" fill="rgb(253,37,18)" rx="2" ry="2" />
<text x="21.08" y="239.5" ></text>
</g>
<g >
<title>vmonyx`__sys_unlink_thunk(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) (6,384 samples, 16.38%)</title><rect x="790.1" y="309" width="193.3" height="15.0" fill="rgb(248,216,44)" rx="2" ry="2" />
<text x="793.15" y="319.5" >vmonyx`__sys_unlink_thunk..</text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (14 samples, 0.04%)</title><rect x="1011.0" y="245" width="0.4" height="15.0" fill="rgb(215,168,11)" rx="2" ry="2" />
<text x="1014.02" y="255.5" ></text>
</g>
<g >
<title>vmonyx`__bin_chunk (16 samples, 0.04%)</title><rect x="805.4" y="101" width="0.5" height="15.0" fill="rgb(230,207,26)" rx="2" ry="2" />
<text x="808.38" y="111.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (374 samples, 0.96%)</title><rect x="39.4" y="181" width="11.3" height="15.0" fill="rgb(249,32,22)" rx="2" ry="2" />
<text x="42.40" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (4 samples, 0.01%)</title><rect x="413.6" y="229" width="0.1" height="15.0" fill="rgb(222,25,46)" rx="2" ry="2" />
<text x="416.61" y="239.5" ></text>
</g>
<g >
<title>vmonyx`dentry_resolve(nameidata&amp;) (6,603 samples, 16.94%)</title><rect x="210.3" y="213" width="199.9" height="15.0" fill="rgb(244,29,49)" rx="2" ry="2" />
<text x="213.26" y="223.5" >vmonyx`dentry_resolve(name..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (9 samples, 0.02%)</title><rect x="1024.8" y="229" width="0.2" height="15.0" fill="rgb(213,207,34)" rx="2" ry="2" />
<text x="1027.77" y="239.5" ></text>
</g>
<g >
<title>vmonyx`__bin_chunk (34 samples, 0.09%)</title><rect x="806.1" y="85" width="1.0" height="15.0" fill="rgb(208,52,16)" rx="2" ry="2" />
<text x="809.07" y="95.5" ></text>
</g>
<g >
<title>vmonyx`vmo_create(unsigned long, void*) (183 samples, 0.47%)</title><rect x="396.8" y="101" width="5.5" height="15.0" fill="rgb(237,77,41)" rx="2" ry="2" />
<text x="399.77" y="111.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (4 samples, 0.01%)</title><rect x="799.3" y="165" width="0.1" height="15.0" fill="rgb(252,173,47)" rx="2" ry="2" />
<text x="802.32" y="175.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (9 samples, 0.02%)</title><rect x="1024.8" y="213" width="0.2" height="15.0" fill="rgb(239,207,17)" rx="2" ry="2" />
<text x="1027.77" y="223.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (170 samples, 0.44%)</title><rect x="646.2" y="133" width="5.1" height="15.0" fill="rgb(210,119,54)" rx="2" ry="2" />
<text x="649.20" y="143.5" ></text>
</g>
<g >
<title>vmonyx`dentry_resolve_path(nameidata&amp;) (11,978 samples, 30.73%)</title><rect x="414.5" y="229" width="362.6" height="15.0" fill="rgb(217,117,42)" rx="2" ry="2" />
<text x="417.51" y="239.5" >vmonyx`dentry_resolve_path(nameidata&amp;)</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (5 samples, 0.01%)</title><rect x="393.1" y="117" width="0.1" height="15.0" fill="rgb(231,127,50)" rx="2" ry="2" />
<text x="396.08" y="127.5" ></text>
</g>
<g >
<title>vmonyx`sched_lock(thread*) (12 samples, 0.03%)</title><rect x="771.8" y="149" width="0.4" height="15.0" fill="rgb(229,162,9)" rx="2" ry="2" />
<text x="774.83" y="159.5" ></text>
</g>
<g >
<title>vmonyx`malloc (76 samples, 0.19%)</title><rect x="410.7" y="197" width="2.3" height="15.0" fill="rgb(211,66,42)" rx="2" ry="2" />
<text x="413.73" y="207.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (2,336 samples, 5.99%)</title><rect x="94.2" y="197" width="70.7" height="15.0" fill="rgb(239,191,41)" rx="2" ry="2" />
<text x="97.19" y="207.5" >vmonyx`..</text>
</g>
<g >
<title>vmonyx`generic_last_name_helper(dentry*, char const*, last_name_handling&amp;, unsigned int) (6,192 samples, 15.89%)</title><rect x="793.3" y="261" width="187.4" height="15.0" fill="rgb(250,115,17)" rx="2" ry="2" />
<text x="796.30" y="271.5" >vmonyx`generic_last_name..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (12 samples, 0.03%)</title><rect x="213.2" y="117" width="0.3" height="15.0" fill="rgb(205,189,48)" rx="2" ry="2" />
<text x="216.17" y="127.5" ></text>
</g>
<g >
<title>vmonyx`tmpfs_superblock::create_inode (363 samples, 0.93%)</title><rect x="395.6" y="149" width="11.0" height="15.0" fill="rgb(239,21,9)" rx="2" ry="2" />
<text x="398.56" y="159.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (15 samples, 0.04%)</title><rect x="17.3" y="261" width="0.5" height="15.0" fill="rgb(229,56,20)" rx="2" ry="2" />
<text x="20.33" y="271.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (7 samples, 0.02%)</title><rect x="1009.7" y="197" width="0.2" height="15.0" fill="rgb(226,32,44)" rx="2" ry="2" />
<text x="1012.69" y="207.5" ></text>
</g>
<g >
<title>vmonyx`dentry_resolve(nameidata&amp;) (6,127 samples, 15.72%)</title><rect x="795.2" y="245" width="185.5" height="15.0" fill="rgb(226,117,13)" rx="2" ry="2" />
<text x="798.17" y="255.5" >vmonyx`dentry_resolve(na..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (15 samples, 0.04%)</title><rect x="771.3" y="165" width="0.5" height="15.0" fill="rgb(214,33,34)" rx="2" ry="2" />
<text x="774.35" y="175.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (42 samples, 0.11%)</title><rect x="1018.6" y="197" width="1.3" height="15.0" fill="rgb(243,114,3)" rx="2" ry="2" />
<text x="1021.59" y="207.5" ></text>
</g>
<g >
<title>vmonyx`memset_s (9 samples, 0.02%)</title><rect x="176.9" y="245" width="0.2" height="15.0" fill="rgb(238,202,39)" rx="2" ry="2" />
<text x="179.87" y="255.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (21 samples, 0.05%)</title><rect x="619.4" y="165" width="0.6" height="15.0" fill="rgb(231,43,16)" rx="2" ry="2" />
<text x="622.38" y="175.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (122 samples, 0.31%)</title><rect x="615.7" y="133" width="3.6" height="15.0" fill="rgb(240,156,31)" rx="2" ry="2" />
<text x="618.65" y="143.5" ></text>
</g>
<g >
<title>vmonyx`rb_tree_remove (209 samples, 0.54%)</title><rect x="191.0" y="229" width="6.3" height="15.0" fill="rgb(234,170,24)" rx="2" ry="2" />
<text x="194.01" y="239.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (29 samples, 0.07%)</title><rect x="775.5" y="181" width="0.9" height="15.0" fill="rgb(220,192,49)" rx="2" ry="2" />
<text x="778.53" y="191.5" ></text>
</g>
<g >
<title>vmonyx`inode_can_access(inode*, unsigned int) (43 samples, 0.11%)</title><rect x="166.2" y="213" width="1.3" height="15.0" fill="rgb(247,192,6)" rx="2" ry="2" />
<text x="169.15" y="223.5" ></text>
</g>
<g >
<title>vmonyx`__malloc0 (61 samples, 0.16%)</title><rect x="167.8" y="245" width="1.8" height="15.0" fill="rgb(254,228,48)" rx="2" ry="2" />
<text x="170.79" y="255.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="798.3" y="149" width="0.1" height="15.0" fill="rgb(243,202,24)" rx="2" ry="2" />
<text x="801.29" y="159.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (4 samples, 0.01%)</title><rect x="811.4" y="149" width="0.1" height="15.0" fill="rgb(210,53,26)" rx="2" ry="2" />
<text x="814.40" y="159.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_datum (5 samples, 0.01%)</title><rect x="173.1" y="277" width="0.1" height="15.0" fill="rgb(220,155,29)" rx="2" ry="2" />
<text x="176.05" y="287.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (5 samples, 0.01%)</title><rect x="809.9" y="133" width="0.2" height="15.0" fill="rgb(211,212,37)" rx="2" ry="2" />
<text x="812.92" y="143.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)1&gt;::lock (1,663 samples, 4.27%)</title><rect x="811.8" y="181" width="50.4" height="15.0" fill="rgb(247,213,7)" rx="2" ry="2" />
<text x="814.82" y="191.5" >vmony..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (787 samples, 2.02%)</title><rect x="620.3" y="149" width="23.8" height="15.0" fill="rgb(236,13,50)" rx="2" ry="2" />
<text x="623.31" y="159.5" >v..</text>
</g>
<g >
<title>vmonyx`spin_lock (8 samples, 0.02%)</title><rect x="808.6" y="133" width="0.3" height="15.0" fill="rgb(224,64,29)" rx="2" ry="2" />
<text x="811.64" y="143.5" ></text>
</g>
<g >
<title>vmonyx`__get_file_description_unlocked(int, process*) (5 samples, 0.01%)</title><rect x="996.9" y="277" width="0.2" height="15.0" fill="rgb(239,186,18)" rx="2" ry="2" />
<text x="999.95" y="287.5" ></text>
</g>
<g >
<title>vmonyx`rwlock_prepare_sleep(rwlock*, int) (278 samples, 0.71%)</title><rect x="85.3" y="181" width="8.4" height="15.0" fill="rgb(224,83,18)" rx="2" ry="2" />
<text x="88.32" y="191.5" ></text>
</g>
<g >
<title>vmonyx`do_brk_change(long) (11 samples, 0.03%)</title><rect x="1018.1" y="181" width="0.3" height="15.0" fill="rgb(233,225,35)" rx="2" ry="2" />
<text x="1021.11" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (18 samples, 0.05%)</title><rect x="30.8" y="261" width="0.5" height="15.0" fill="rgb(236,5,21)" rx="2" ry="2" />
<text x="33.77" y="271.5" ></text>
</g>
<g >
<title>vmonyx`smp::sync_call_with_local(void (*)(void*), void*, cpumask const&amp;, void (*) (100 samples, 0.26%)</title><rect x="186.0" y="133" width="3.0" height="15.0" fill="rgb(254,20,34)" rx="2" ry="2" />
<text x="188.98" y="143.5" ></text>
</g>
<g >
<title>vmonyx`dentry_resolve_path(nameidata&amp;) (4,362 samples, 11.19%)</title><rect x="35.6" y="245" width="132.0" height="15.0" fill="rgb(252,100,35)" rx="2" ry="2" />
<text x="38.55" y="255.5" >vmonyx`dentry_re..</text>
</g>
<g >
<title>vmonyx`vm_find_region(void*) (14 samples, 0.04%)</title><rect x="176.3" y="229" width="0.4" height="15.0" fill="rgb(253,229,16)" rx="2" ry="2" />
<text x="179.29" y="239.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched(thread*) (264 samples, 0.68%)</title><rect x="94.3" y="181" width="8.0" height="15.0" fill="rgb(252,104,26)" rx="2" ry="2" />
<text x="97.28" y="191.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched_if_needed (4 samples, 0.01%)</title><rect x="984.5" y="293" width="0.2" height="15.0" fill="rgb(208,172,35)" rx="2" ry="2" />
<text x="987.53" y="303.5" ></text>
</g>
<g >
<title>vmonyx`__malloc0 (110 samples, 0.28%)</title><rect x="1003.2" y="229" width="3.4" height="15.0" fill="rgb(209,83,24)" rx="2" ry="2" />
<text x="1006.24" y="239.5" ></text>
</g>
<g >
<title>vmonyx`strcpy_from_user (126 samples, 0.32%)</title><rect x="786.3" y="277" width="3.8" height="15.0" fill="rgb(205,82,25)" rx="2" ry="2" />
<text x="789.30" y="287.5" ></text>
</g>
<g >
<title>vmonyx`tree_search (4 samples, 0.01%)</title><rect x="1020.0" y="245" width="0.1" height="15.0" fill="rgb(220,42,0)" rx="2" ry="2" />
<text x="1023.01" y="255.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (14 samples, 0.04%)</title><rect x="16.3" y="181" width="0.4" height="15.0" fill="rgb(230,121,18)" rx="2" ry="2" />
<text x="19.27" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::~scoped_mutex (14 samples, 0.04%)</title><rect x="1023.6" y="229" width="0.4" height="15.0" fill="rgb(227,103,25)" rx="2" ry="2" />
<text x="1026.59" y="239.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (26 samples, 0.07%)</title><rect x="781.7" y="181" width="0.8" height="15.0" fill="rgb(216,214,9)" rx="2" ry="2" />
<text x="784.70" y="191.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_threads(rwlock*) (10 samples, 0.03%)</title><rect x="809.9" y="165" width="0.3" height="15.0" fill="rgb(251,118,54)" rx="2" ry="2" />
<text x="812.89" y="175.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (5 samples, 0.01%)</title><rect x="31.3" y="245" width="0.2" height="15.0" fill="rgb(218,153,21)" rx="2" ry="2" />
<text x="34.34" y="255.5" ></text>
</g>
<g >
<title>vmonyx`__get_mapping_info(void*, mm_address_space*) (22 samples, 0.06%)</title><rect x="13.8" y="245" width="0.7" height="15.0" fill="rgb(251,138,22)" rx="2" ry="2" />
<text x="16.78" y="255.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (4 samples, 0.01%)</title><rect x="404.2" y="117" width="0.1" height="15.0" fill="rgb(211,129,8)" rx="2" ry="2" />
<text x="407.19" y="127.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (19 samples, 0.05%)</title><rect x="785.6" y="261" width="0.6" height="15.0" fill="rgb(247,88,12)" rx="2" ry="2" />
<text x="788.58" y="271.5" ></text>
</g>
<g >
<title>vmonyx`get_fs_root() (4 samples, 0.01%)</title><rect x="413.3" y="261" width="0.1" height="15.0" fill="rgb(232,170,40)" rx="2" ry="2" />
<text x="416.27" y="271.5" ></text>
</g>
<g >
<title>vmonyx`__dentry_try_to_open(std::basic_string_view (20 samples, 0.05%)</title><rect x="214.6" y="133" width="0.6" height="15.0" fill="rgb(217,183,18)" rx="2" ry="2" />
<text x="217.62" y="143.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched(thread*) (3,314 samples, 8.50%)</title><rect x="284.2" y="117" width="100.3" height="15.0" fill="rgb(208,220,0)" rx="2" ry="2" />
<text x="287.22" y="127.5" >vmonyx`sched..</text>
</g>
<g >
<title>vmonyx`__bin_chunk (22 samples, 0.06%)</title><rect x="1017.4" y="197" width="0.7" height="15.0" fill="rgb(219,125,34)" rx="2" ry="2" />
<text x="1020.44" y="207.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (1,108 samples, 2.84%)</title><rect x="50.7" y="149" width="33.6" height="15.0" fill="rgb(240,34,29)" rx="2" ry="2" />
<text x="53.72" y="159.5" >vm..</text>
</g>
<g >
<title>vmonyx`tlb_invalidation_tracker::~tlb_invalidation_tracker (4 samples, 0.01%)</title><rect x="184.3" y="181" width="0.1" height="15.0" fill="rgb(211,52,52)" rx="2" ry="2" />
<text x="187.28" y="191.5" ></text>
</g>
<g >
<title>vmonyx`inode_can_access(inode*, unsigned int) (19 samples, 0.05%)</title><rect x="408.9" y="165" width="0.5" height="15.0" fill="rgb(231,188,47)" rx="2" ry="2" />
<text x="411.85" y="175.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4 samples, 0.01%)</title><rect x="784.1" y="213" width="0.1" height="15.0" fill="rgb(252,45,27)" rx="2" ry="2" />
<text x="787.09" y="223.5" ></text>
</g>
<g >
<title>vmonyx`__dentry_resolve_path(nameidata&amp;) (6,574 samples, 16.87%)</title><rect x="210.8" y="181" width="199.0" height="15.0" fill="rgb(207,84,28)" rx="2" ry="2" />
<text x="213.80" y="191.5" >vmonyx`__dentry_resolve_pa..</text>
</g>
<g >
<title>vmonyx`__dentry_resolve_path(nameidata&amp;) (11,940 samples, 30.63%)</title><rect x="415.6" y="213" width="361.4" height="15.0" fill="rgb(228,60,30)" rx="2" ry="2" />
<text x="418.57" y="223.5" >vmonyx`__dentry_resolve_path(nameidata&amp;)</text>
</g>
<g >
<title>vmonyx`get_dirfd_file(int) (6 samples, 0.02%)</title><rect x="792.8" y="277" width="0.2" height="15.0" fill="rgb(208,58,11)" rx="2" ry="2" />
<text x="795.78" y="287.5" ></text>
</g>
<g >
<title>vmonyx`tmpfs_unlink(char const*, int, dentry*) (31 samples, 0.08%)</title><rect x="979.1" y="181" width="0.9" height="15.0" fill="rgb(229,20,12)" rx="2" ry="2" />
<text x="982.05" y="191.5" ></text>
</g>
<g >
<title>vmonyx`dequeue_thread_rwlock(rwlock*, thread*) (4,840 samples, 12.42%)</title><rect x="472.9" y="165" width="146.5" height="15.0" fill="rgb(224,166,40)" rx="2" ry="2" />
<text x="475.85" y="175.5" >vmonyx`dequeue_thr..</text>
</g>
<g >
<title>vmonyx`spin_lock (961 samples, 2.47%)</title><rect x="821.9" y="117" width="29.1" height="15.0" fill="rgb(213,28,4)" rx="2" ry="2" />
<text x="824.93" y="127.5" >vm..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (96 samples, 0.25%)</title><rect x="666.8" y="117" width="2.9" height="15.0" fill="rgb(233,22,49)" rx="2" ry="2" />
<text x="669.75" y="127.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (4 samples, 0.01%)</title><rect x="979.7" y="133" width="0.1" height="15.0" fill="rgb(230,155,47)" rx="2" ry="2" />
<text x="982.72" y="143.5" ></text>
</g>
<g >
<title>vmonyx`vmo_remove_mapping(vm_object*, vm_region*) (23 samples, 0.06%)</title><rect x="189.9" y="229" width="0.7" height="15.0" fill="rgb(251,167,18)" rx="2" ry="2" />
<text x="192.89" y="239.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched_if_needed (23 samples, 0.06%)</title><rect x="276.7" y="69" width="0.7" height="15.0" fill="rgb(217,52,45)" rx="2" ry="2" />
<text x="279.74" y="79.5" ></text>
</g>
<g >
<title>vmonyx`unlink_handling::operator()(nameidata&amp;, std::basic_string_view (5,924 samples, 15.20%)</title><rect x="800.7" y="197" width="179.3" height="15.0" fill="rgb(218,5,18)" rx="2" ry="2" />
<text x="803.65" y="207.5" >vmonyx`unlink_handling:..</text>
</g>
<g >
<title>vmonyx`dentry_resolve_path(nameidata&amp;) (6,600 samples, 16.93%)</title><rect x="210.3" y="197" width="199.9" height="15.0" fill="rgb(244,53,27)" rx="2" ry="2" />
<text x="213.35" y="207.5" >vmonyx`dentry_resolve_path..</text>
</g>
<g >
<title>vmonyx`do_brk_change(long) (9 samples, 0.02%)</title><rect x="1005.1" y="181" width="0.3" height="15.0" fill="rgb(239,5,25)" rx="2" ry="2" />
<text x="1008.09" y="191.5" ></text>
</g>
<g >
<title>vmonyx`inode_can_access(inode*, unsigned int) (13 samples, 0.03%)</title><rect x="811.4" y="181" width="0.4" height="15.0" fill="rgb(227,217,48)" rx="2" ry="2" />
<text x="814.40" y="191.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (13 samples, 0.03%)</title><rect x="782.7" y="149" width="0.4" height="15.0" fill="rgb(239,164,0)" rx="2" ry="2" />
<text x="785.70" y="159.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (14 samples, 0.04%)</title><rect x="644.7" y="165" width="0.4" height="15.0" fill="rgb(216,23,42)" rx="2" ry="2" />
<text x="647.71" y="175.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_tryread(rwlock*) (11 samples, 0.03%)</title><rect x="396.1" y="101" width="0.3" height="15.0" fill="rgb(244,18,4)" rx="2" ry="2" />
<text x="399.11" y="111.5" ></text>
</g>
<g >
<title>vmonyx`__malloc0 (111 samples, 0.28%)</title><rect x="1016.5" y="229" width="3.4" height="15.0" fill="rgb(229,20,26)" rx="2" ry="2" />
<text x="1019.50" y="239.5" ></text>
</g>
<g >
<title>vmonyx`mutex_holds_lock(mutex*) (11 samples, 0.03%)</title><rect x="190.7" y="229" width="0.3" height="15.0" fill="rgb(242,106,3)" rx="2" ry="2" />
<text x="193.67" y="239.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (4 samples, 0.01%)</title><rect x="802.7" y="117" width="0.1" height="15.0" fill="rgb(244,205,11)" rx="2" ry="2" />
<text x="805.71" y="127.5" ></text>
</g>
<g >
<title>vmonyx`free (4 samples, 0.01%)</title><rect x="785.0" y="277" width="0.1" height="15.0" fill="rgb(210,10,5)" rx="2" ry="2" />
<text x="788.00" y="287.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (10 samples, 0.03%)</title><rect x="164.0" y="181" width="0.3" height="15.0" fill="rgb(235,173,4)" rx="2" ry="2" />
<text x="166.97" y="191.5" ></text>
</g>
<g >
<title>vmonyx`mutex_lock(mutex*) (4 samples, 0.01%)</title><rect x="189.9" y="197" width="0.2" height="15.0" fill="rgb(239,160,20)" rx="2" ry="2" />
<text x="192.95" y="207.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (5 samples, 0.01%)</title><rect x="784.1" y="229" width="0.1" height="15.0" fill="rgb(210,16,20)" rx="2" ry="2" />
<text x="787.06" y="239.5" ></text>
</g>
<g >
<title>vmonyx`x86_mmu_unmap(PML*, unsigned int, page_table_iterator&amp;) (216 samples, 0.55%)</title><rect x="182.8" y="197" width="6.6" height="15.0" fill="rgb(247,159,39)" rx="2" ry="2" />
<text x="185.83" y="207.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="784.2" y="213" width="0.2" height="15.0" fill="rgb(239,152,11)" rx="2" ry="2" />
<text x="787.24" y="223.5" ></text>
</g>
<g >
<title>vmonyx`user_string::from_user (71 samples, 0.18%)</title><rect x="169.9" y="277" width="2.2" height="15.0" fill="rgb(228,134,43)" rx="2" ry="2" />
<text x="172.90" y="287.5" ></text>
</g>
<g >
<title>vmonyx`dentry_compare_name(dentry*, std::basic_string_view (24 samples, 0.06%)</title><rect x="644.4" y="181" width="0.7" height="15.0" fill="rgb(216,73,31)" rx="2" ry="2" />
<text x="647.41" y="191.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (35 samples, 0.09%)</title><rect x="807.3" y="85" width="1.1" height="15.0" fill="rgb(223,138,35)" rx="2" ry="2" />
<text x="810.31" y="95.5" ></text>
</g>
<g >
<title>vmonyx`memory_pool&lt;dentry, 0&gt;::allocate (28 samples, 0.07%)</title><rect x="212.7" y="133" width="0.9" height="15.0" fill="rgb(219,194,32)" rx="2" ry="2" />
<text x="215.71" y="143.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (15 samples, 0.04%)</title><rect x="166.2" y="181" width="0.5" height="15.0" fill="rgb(225,189,12)" rx="2" ry="2" />
<text x="169.24" y="191.5" ></text>
</g>
<g >
<title>vmonyx`inode_get_cache_block(inode*, unsigned long, long) (371 samples, 0.95%)</title><rect x="1013.0" y="261" width="11.2" height="15.0" fill="rgb(218,104,21)" rx="2" ry="2" />
<text x="1015.96" y="271.5" ></text>
</g>
<g >
<title>vmonyx`creds_get() (6 samples, 0.02%)</title><rect x="413.4" y="245" width="0.2" height="15.0" fill="rgb(242,116,1)" rx="2" ry="2" />
<text x="416.42" y="255.5" ></text>
</g>
<g >
<title>vmonyx`dentry_compare_name(dentry*, std::basic_string_view (8 samples, 0.02%)</title><rect x="811.1" y="165" width="0.2" height="15.0" fill="rgb(210,152,11)" rx="2" ry="2" />
<text x="814.10" y="175.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4 samples, 0.01%)</title><rect x="799.4" y="149" width="0.2" height="15.0" fill="rgb(208,73,39)" rx="2" ry="2" />
<text x="802.44" y="159.5" ></text>
</g>
<g >
<title>vmonyx`sched_unlock(thread*, unsigned long) (22 samples, 0.06%)</title><rect x="696.8" y="117" width="0.7" height="15.0" fill="rgb(224,25,50)" rx="2" ry="2" />
<text x="699.78" y="127.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (4 samples, 0.01%)</title><rect x="1009.8" y="181" width="0.1" height="15.0" fill="rgb(218,75,28)" rx="2" ry="2" />
<text x="1012.78" y="191.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (4 samples, 0.01%)</title><rect x="413.6" y="213" width="0.1" height="15.0" fill="rgb(221,133,10)" rx="2" ry="2" />
<text x="416.61" y="223.5" ></text>
</g>
<g >
<title>vmonyx`rb_tree_new (107 samples, 0.27%)</title><rect x="399.1" y="85" width="3.2" height="15.0" fill="rgb(247,73,34)" rx="2" ry="2" />
<text x="402.07" y="95.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (4 samples, 0.01%)</title><rect x="404.3" y="117" width="0.1" height="15.0" fill="rgb(212,3,34)" rx="2" ry="2" />
<text x="407.31" y="127.5" ></text>
</g>
<g >
<title>vmonyx`fd_put(file*) (10 samples, 0.03%)</title><rect x="189.6" y="229" width="0.3" height="15.0" fill="rgb(245,229,20)" rx="2" ry="2" />
<text x="192.58" y="239.5" ></text>
</g>
<g >
<title>vmonyx`sched_idle(void*) (5,403 samples, 13.86%)</title><rect x="1026.0" y="325" width="163.6" height="15.0" fill="rgb(217,1,36)" rx="2" ry="2" />
<text x="1029.01" y="335.5" >vmonyx`sched_idle(voi..</text>
</g>
<g >
<title>vmonyx`spin_lock (14 samples, 0.04%)</title><rect x="803.8" y="117" width="0.5" height="15.0" fill="rgb(248,68,8)" rx="2" ry="2" />
<text x="806.83" y="127.5" ></text>
</g>
<g >
<title>vmonyx`inode_ref(inode*) (9 samples, 0.02%)</title><rect x="410.2" y="229" width="0.3" height="15.0" fill="rgb(214,174,35)" rx="2" ry="2" />
<text x="413.19" y="239.5" ></text>
</g>
<g >
<title>vmonyx`dequeue_thread_rwlock(rwlock*, thread*) (1,135 samples, 2.91%)</title><rect x="50.7" y="181" width="34.4" height="15.0" fill="rgb(212,146,42)" rx="2" ry="2" />
<text x="53.72" y="191.5" >vm..</text>
</g>
<g >
<title>vmonyx`vm_region_setup_backing(vm_region*, unsigned long, bool) (21 samples, 0.05%)</title><rect x="1010.8" y="277" width="0.7" height="15.0" fill="rgb(244,69,39)" rx="2" ry="2" />
<text x="1013.84" y="287.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (5 samples, 0.01%)</title><rect x="207.4" y="261" width="0.1" height="15.0" fill="rgb(233,128,53)" rx="2" ry="2" />
<text x="210.38" y="271.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (5 samples, 0.01%)</title><rect x="644.2" y="133" width="0.2" height="15.0" fill="rgb(231,94,42)" rx="2" ry="2" />
<text x="647.20" y="143.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (10 samples, 0.03%)</title><rect x="804.7" y="117" width="0.3" height="15.0" fill="rgb(238,94,5)" rx="2" ry="2" />
<text x="807.71" y="127.5" ></text>
</g>
<g >
<title>vmonyx`tmpfs_create_inode(unsigned int, dentry*, unsigned long) (8 samples, 0.02%)</title><rect x="409.6" y="165" width="0.2" height="15.0" fill="rgb(220,20,20)" rx="2" ry="2" />
<text x="412.58" y="175.5" ></text>
</g>
<g >
<title>vmonyx`scoped_rwlock&lt;(rw_lock)1&gt;::lock (5 samples, 0.01%)</title><rect x="1024.6" y="261" width="0.1" height="15.0" fill="rgb(208,152,17)" rx="2" ry="2" />
<text x="1027.56" y="271.5" ></text>
</g>
<g >
<title>vmonyx`malloc (56 samples, 0.14%)</title><rect x="402.5" y="117" width="1.7" height="15.0" fill="rgb(244,29,52)" rx="2" ry="2" />
<text x="405.47" y="127.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_search_le (12 samples, 0.03%)</title><rect x="176.4" y="197" width="0.3" height="15.0" fill="rgb(212,17,12)" rx="2" ry="2" />
<text x="179.35" y="207.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (7 samples, 0.02%)</title><rect x="166.8" y="165" width="0.3" height="15.0" fill="rgb(229,82,6)" rx="2" ry="2" />
<text x="169.85" y="175.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (13 samples, 0.03%)</title><rect x="166.7" y="197" width="0.4" height="15.0" fill="rgb(207,176,42)" rx="2" ry="2" />
<text x="169.73" y="207.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (6 samples, 0.02%)</title><rect x="407.8" y="133" width="0.2" height="15.0" fill="rgb(253,203,48)" rx="2" ry="2" />
<text x="410.79" y="143.5" ></text>
</g>
<g >
<title>vmonyx`page_node::allocate_pages (98 samples, 0.25%)</title><rect x="1013.1" y="245" width="3.0" height="15.0" fill="rgb(217,87,0)" rx="2" ry="2" />
<text x="1016.11" y="255.5" ></text>
</g>
<g >
<title>vmonyx`vm_find_region(void*) (27 samples, 0.07%)</title><rect x="17.8" y="261" width="0.8" height="15.0" fill="rgb(226,151,10)" rx="2" ry="2" />
<text x="20.78" y="271.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (7 samples, 0.02%)</title><rect x="1011.9" y="277" width="0.2" height="15.0" fill="rgb(227,190,2)" rx="2" ry="2" />
<text x="1014.90" y="287.5" ></text>
</g>
<g >
<title>vmonyx`create_handling::operator()(nameidata&amp;, std::basic_string_view (6,447 samples, 16.54%)</title><rect x="211.4" y="165" width="195.2" height="15.0" fill="rgb(215,15,45)" rx="2" ry="2" />
<text x="214.38" y="175.5" >vmonyx`create_handling::o..</text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (5 samples, 0.01%)</title><rect x="811.6" y="165" width="0.1" height="15.0" fill="rgb(212,138,53)" rx="2" ry="2" />
<text x="814.55" y="175.5" ></text>
</g>
<g >
<title>vmonyx`get_dirfd_file(int) (23 samples, 0.06%)</title><rect x="791.6" y="261" width="0.7" height="15.0" fill="rgb(221,64,27)" rx="2" ry="2" />
<text x="794.60" y="271.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (4 samples, 0.01%)</title><rect x="811.6" y="149" width="0.1" height="15.0" fill="rgb(215,92,32)" rx="2" ry="2" />
<text x="814.58" y="159.5" ></text>
</g>
<g >
<title>vmonyx`pagecache_create_cache_block(page*, unsigned long, unsigned long, inode*) (125 samples, 0.32%)</title><rect x="1016.1" y="245" width="3.8" height="15.0" fill="rgb(253,7,12)" rx="2" ry="2" />
<text x="1019.08" y="255.5" ></text>
</g>
<g >
<title>vmonyx`rw_unlock_read(rwlock*) (4 samples, 0.01%)</title><rect x="408.3" y="149" width="0.1" height="15.0" fill="rgb(238,83,31)" rx="2" ry="2" />
<text x="411.31" y="159.5" ></text>
</g>
<g >
<title>vmonyx`__map_pages_to_vaddr(mm_address_space*, void*, void*, unsigned long, unsigned long) (22 samples, 0.06%)</title><rect x="14.6" y="229" width="0.7" height="15.0" fill="rgb(230,201,42)" rx="2" ry="2" />
<text x="17.60" y="239.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (773 samples, 1.98%)</title><rect x="669.9" y="117" width="23.4" height="15.0" fill="rgb(207,58,27)" rx="2" ry="2" />
<text x="672.90" y="127.5" >v..</text>
</g>
<g >
<title>vmonyx`spin_lock (281 samples, 0.72%)</title><rect x="384.6" y="101" width="8.5" height="15.0" fill="rgb(208,46,38)" rx="2" ry="2" />
<text x="387.57" y="111.5" ></text>
</g>
<g >
<title>vmonyx`x86_mmu_unmap(PML*, unsigned int, page_table_iterator&amp;) (365 samples, 0.94%)</title><rect x="178.3" y="213" width="11.1" height="15.0" fill="rgb(229,48,31)" rx="2" ry="2" />
<text x="181.32" y="223.5" ></text>
</g>
<g >
<title>vmonyx`sched_is_preemption_disabled (357 samples, 0.92%)</title><rect x="985.8" y="309" width="10.8" height="15.0" fill="rgb(251,153,34)" rx="2" ry="2" />
<text x="988.81" y="319.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (5 samples, 0.01%)</title><rect x="190.1" y="181" width="0.1" height="15.0" fill="rgb(209,15,52)" rx="2" ry="2" />
<text x="193.10" y="191.5" ></text>
</g>
<g >
<title>vmonyx`superblock_remove_inode(superblock*, inode*) (33 samples, 0.08%)</title><rect x="803.3" y="149" width="1.0" height="15.0" fill="rgb(227,170,34)" rx="2" ry="2" />
<text x="806.32" y="159.5" ></text>
</g>
<g >
<title>vmonyx`std::basic_string_view&lt;char&gt;::compare(std::basic_string_view (8 samples, 0.02%)</title><rect x="774.2" y="181" width="0.2" height="15.0" fill="rgb(234,48,11)" rx="2" ry="2" />
<text x="777.16" y="191.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a552c (8 samples, 0.02%)</title><rect x="13.1" y="325" width="0.2" height="15.0" fill="rgb(248,95,3)" rx="2" ry="2" />
<text x="16.06" y="335.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (6 samples, 0.02%)</title><rect x="784.2" y="229" width="0.2" height="15.0" fill="rgb(236,126,7)" rx="2" ry="2" />
<text x="787.21" y="239.5" ></text>
</g>
<g >
<title>vmonyx`vm_find_region_in_tree(void*, rb_tree*) (14 samples, 0.04%)</title><rect x="177.3" y="245" width="0.4" height="15.0" fill="rgb(230,167,48)" rx="2" ry="2" />
<text x="180.32" y="255.5" ></text>
</g>
<g >
<title>vmonyx`rb_tree_insert (77 samples, 0.20%)</title><rect x="1021.0" y="213" width="2.4" height="15.0" fill="rgb(225,99,31)" rx="2" ry="2" />
<text x="1024.04" y="223.5" ></text>
</g>
<g >
<title>vmonyx`strlen (5 samples, 0.01%)</title><rect x="213.9" y="133" width="0.2" height="15.0" fill="rgb(232,31,40)" rx="2" ry="2" />
<text x="216.92" y="143.5" ></text>
</g>
<g >
<title>vmonyx`__sys_lstat_thunk(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) (4,641 samples, 11.91%)</title><rect x="31.6" y="309" width="140.5" height="15.0" fill="rgb(215,206,36)" rx="2" ry="2" />
<text x="34.58" y="319.5" >vmonyx`__sys_lsta..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (1,565 samples, 4.02%)</title><rect x="929.8" y="149" width="47.3" height="15.0" fill="rgb(224,156,36)" rx="2" ry="2" />
<text x="932.77" y="159.5" >vmon..</text>
</g>
<g >
<title>vmonyx`__expand_heap (11 samples, 0.03%)</title><rect x="1018.1" y="197" width="0.3" height="15.0" fill="rgb(220,103,15)" rx="2" ry="2" />
<text x="1021.11" y="207.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (10 samples, 0.03%)</title><rect x="404.2" y="133" width="0.3" height="15.0" fill="rgb(218,16,29)" rx="2" ry="2" />
<text x="407.16" y="143.5" ></text>
</g>
<g >
<title>vmonyx`default_stat(stat*, file*) (5 samples, 0.01%)</title><rect x="169.8" y="261" width="0.1" height="15.0" fill="rgb(209,161,19)" rx="2" ry="2" />
<text x="172.75" y="271.5" ></text>
</g>
<g >
<title>vmonyx`strlen (4 samples, 0.01%)</title><rect x="645.8" y="133" width="0.1" height="15.0" fill="rgb(240,8,51)" rx="2" ry="2" />
<text x="648.80" y="143.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (18 samples, 0.05%)</title><rect x="171.4" y="229" width="0.6" height="15.0" fill="rgb(234,12,38)" rx="2" ry="2" />
<text x="174.45" y="239.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (4,712 samples, 12.09%)</title><rect x="473.0" y="149" width="142.7" height="15.0" fill="rgb(231,197,8)" rx="2" ry="2" />
<text x="476.00" y="159.5" >vmonyx`scoped_lock..</text>
</g>
<g >
<title>vmonyx`dentry_create(char const*, inode*, dentry*) (70 samples, 0.18%)</title><rect x="212.0" y="149" width="2.1" height="15.0" fill="rgb(230,222,8)" rx="2" ry="2" />
<text x="214.95" y="159.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (8 samples, 0.02%)</title><rect x="406.2" y="85" width="0.2" height="15.0" fill="rgb(220,160,11)" rx="2" ry="2" />
<text x="409.16" y="95.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (5 samples, 0.01%)</title><rect x="801.5" y="149" width="0.2" height="15.0" fill="rgb(207,159,28)" rx="2" ry="2" />
<text x="804.53" y="159.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_read(rwlock*, int) (1,799 samples, 4.62%)</title><rect x="39.3" y="197" width="54.5" height="15.0" fill="rgb(246,56,0)" rx="2" ry="2" />
<text x="42.34" y="207.5" >vmony..</text>
</g>
<g >
<title>vmonyx`alloc_fd(int) (100 samples, 0.26%)</title><rect x="781.0" y="229" width="3.0" height="15.0" fill="rgb(240,184,6)" rx="2" ry="2" />
<text x="783.97" y="239.5" ></text>
</g>
<g >
<title>vmonyx`dentry_put(dentry*) (4 samples, 0.01%)</title><rect x="28.2" y="261" width="0.1" height="15.0" fill="rgb(231,33,24)" rx="2" ry="2" />
<text x="31.19" y="271.5" ></text>
</g>
<g >
<title>vmonyx`dentry_lookup_internal(std::basic_string_view (20 samples, 0.05%)</title><rect x="645.3" y="149" width="0.6" height="15.0" fill="rgb(212,82,29)" rx="2" ry="2" />
<text x="648.32" y="159.5" ></text>
</g>
<g >
<title>vmonyx`sched_try_to_resched(thread*) (775 samples, 1.99%)</title><rect x="669.8" y="133" width="23.5" height="15.0" fill="rgb(243,161,6)" rx="2" ry="2" />
<text x="672.84" y="143.5" >v..</text>
</g>
<g >
<title>vmonyx`__sys_close_thunk(unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long) (191 samples, 0.49%)</title><rect x="25.8" y="309" width="5.8" height="15.0" fill="rgb(211,168,12)" rx="2" ry="2" />
<text x="28.80" y="319.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (4 samples, 0.01%)</title><rect x="1012.0" y="245" width="0.1" height="15.0" fill="rgb(219,211,38)" rx="2" ry="2" />
<text x="1014.99" y="255.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (11 samples, 0.03%)</title><rect x="398.2" y="37" width="0.3" height="15.0" fill="rgb(236,195,15)" rx="2" ry="2" />
<text x="401.17" y="47.5" ></text>
</g>
<g >
<title>vmonyx`scoped_mutex&lt;false&gt;::scoped_mutex (5 samples, 0.01%)</title><rect x="1010.4" y="277" width="0.1" height="15.0" fill="rgb(215,26,38)" rx="2" ry="2" />
<text x="1013.36" y="287.5" ></text>
</g>
<g >
<title>vmonyx`operator new(unsigned long) (56 samples, 0.14%)</title><rect x="402.5" y="133" width="1.7" height="15.0" fill="rgb(213,181,52)" rx="2" ry="2" />
<text x="405.47" y="143.5" ></text>
</g>
<g >
<title>vmonyx`__get_file_description(int, process*) (14 samples, 0.04%)</title><rect x="996.9" y="293" width="0.4" height="15.0" fill="rgb(221,216,8)" rx="2" ry="2" />
<text x="999.86" y="303.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (8 samples, 0.02%)</title><rect x="1011.1" y="197" width="0.2" height="15.0" fill="rgb(232,10,41)" rx="2" ry="2" />
<text x="1014.08" y="207.5" ></text>
</g>
<g >
<title>vmonyx`vm_region_destroy(vm_region*) (43 samples, 0.11%)</title><rect x="189.4" y="245" width="1.3" height="15.0" fill="rgb(216,197,48)" rx="2" ry="2" />
<text x="192.37" y="255.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (12 samples, 0.03%)</title><rect x="398.7" y="53" width="0.3" height="15.0" fill="rgb(235,166,54)" rx="2" ry="2" />
<text x="401.68" y="63.5" ></text>
</g>
<g >
<title>vmonyx`vm_handle_page_fault(fault_info*) (14 samples, 0.04%)</title><rect x="23.7" y="293" width="0.4" height="15.0" fill="rgb(210,84,27)" rx="2" ry="2" />
<text x="26.68" y="303.5" ></text>
</g>
<g >
<title>vmonyx`vmo_truncate(vm_object*, unsigned long, unsigned long) (27 samples, 0.07%)</title><rect x="1023.4" y="245" width="0.8" height="15.0" fill="rgb(251,129,28)" rx="2" ry="2" />
<text x="1026.37" y="255.5" ></text>
</g>
<g >
<title>vmonyx`thread_wake_up(thread*) (52 samples, 0.13%)</title><rect x="977.3" y="149" width="1.5" height="15.0" fill="rgb(238,161,46)" rx="2" ry="2" />
<text x="980.27" y="159.5" ></text>
</g>
<g >
<title>vmonyx`proc_event_enter_syscall(syscall_frame*, unsigned long) (4 samples, 0.01%)</title><rect x="984.9" y="309" width="0.1" height="15.0" fill="rgb(218,133,52)" rx="2" ry="2" />
<text x="987.90" y="319.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (61 samples, 0.16%)</title><rect x="778.7" y="197" width="1.9" height="15.0" fill="rgb(252,154,3)" rx="2" ry="2" />
<text x="781.73" y="207.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_write(rwlock*, int) (5 samples, 0.01%)</title><rect x="1024.6" y="245" width="0.1" height="15.0" fill="rgb(242,196,17)" rx="2" ry="2" />
<text x="1027.56" y="255.5" ></text>
</g>
<g >
<title>vmonyx`do_sys_open(char const*, int, unsigned int, file*) (18,998 samples, 48.74%)</title><rect x="209.4" y="277" width="575.1" height="15.0" fill="rgb(250,223,30)" rx="2" ry="2" />
<text x="212.35" y="287.5" >vmonyx`do_sys_open(char const*, int, unsigned int, file*)</text>
</g>
<g >
<title>vmonyx`__bin_chunk (41 samples, 0.11%)</title><rect x="790.3" y="277" width="1.3" height="15.0" fill="rgb(239,115,23)" rx="2" ry="2" />
<text x="793.33" y="287.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (1,689 samples, 4.33%)</title><rect x="421.6" y="165" width="51.1" height="15.0" fill="rgb(211,178,36)" rx="2" ry="2" />
<text x="424.57" y="175.5" >vmony..</text>
</g>
<g >
<title>vmonyx`rwlock_prepare_sleep(rwlock*, int) (98 samples, 0.25%)</title><rect x="666.7" y="133" width="3.0" height="15.0" fill="rgb(246,93,13)" rx="2" ry="2" />
<text x="669.69" y="143.5" ></text>
</g>
<g >
<title>vmonyx`malloc (65 samples, 0.17%)</title><rect x="981.3" y="245" width="2.0" height="15.0" fill="rgb(232,76,23)" rx="2" ry="2" />
<text x="984.32" y="255.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (18 samples, 0.05%)</title><rect x="403.6" y="101" width="0.6" height="15.0" fill="rgb(235,132,17)" rx="2" ry="2" />
<text x="406.62" y="111.5" ></text>
</g>
<g >
<title>vmonyx`__rw_lock_write(rwlock*, int) (2,236 samples, 5.74%)</title><rect x="216.0" y="133" width="67.7" height="15.0" fill="rgb(208,62,6)" rx="2" ry="2" />
<text x="219.01" y="143.5" >vmonyx`..</text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (4 samples, 0.01%)</title><rect x="1025.0" y="229" width="0.2" height="15.0" fill="rgb(219,156,33)" rx="2" ry="2" />
<text x="1028.04" y="239.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (32 samples, 0.08%)</title><rect x="782.6" y="181" width="0.9" height="15.0" fill="rgb(247,92,49)" rx="2" ry="2" />
<text x="785.58" y="191.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a41a4 (6 samples, 0.02%)</title><rect x="980.9" y="261" width="0.2" height="15.0" fill="rgb(239,91,19)" rx="2" ry="2" />
<text x="983.87" y="271.5" ></text>
</g>
<g >
<title>vmonyx`inode_unref(inode*) (14 samples, 0.04%)</title><rect x="29.4" y="245" width="0.4" height="15.0" fill="rgb(214,78,35)" rx="2" ry="2" />
<text x="32.41" y="255.5" ></text>
</g>
<g >
<title>vmonyx`tree_iterator_first (26 samples, 0.07%)</title><rect x="204.9" y="261" width="0.8" height="15.0" fill="rgb(242,46,18)" rx="2" ry="2" />
<text x="207.93" y="271.5" ></text>
</g>
<g >
<title>vmonyx`rwlock_prepare_sleep(rwlock*, int) (205 samples, 0.53%)</title><rect x="277.5" y="117" width="6.2" height="15.0" fill="rgb(246,1,7)" rx="2" ry="2" />
<text x="280.47" y="127.5" ></text>
</g>
<g >
<title>vmonyx`spin_lock (6 samples, 0.02%)</title><rect x="775.6" y="149" width="0.2" height="15.0" fill="rgb(224,187,54)" rx="2" ry="2" />
<text x="778.59" y="159.5" ></text>
</g>
<g >
<title>vmonyx`alloc_rev (4 samples, 0.01%)</title><rect x="175.6" y="229" width="0.1" height="15.0" fill="rgb(205,173,4)" rx="2" ry="2" />
<text x="178.63" y="239.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a41a7 (4 samples, 0.01%)</title><rect x="170.1" y="261" width="0.1" height="15.0" fill="rgb(230,179,10)" rx="2" ry="2" />
<text x="173.06" y="271.5" ></text>
</g>
<g >
<title>vmonyx`rw_unlock_read(rwlock*) (5 samples, 0.01%)</title><rect x="1009.9" y="197" width="0.2" height="15.0" fill="rgb(213,5,0)" rx="2" ry="2" />
<text x="1012.90" y="207.5" ></text>
</g>
<g >
<title>vmonyx`0xffffffff801a6fb1 (14 samples, 0.04%)</title><rect x="851.1" y="85" width="0.4" height="15.0" fill="rgb(213,39,18)" rx="2" ry="2" />
<text x="854.06" y="95.5" ></text>
</g>
<g >
<title>vmonyx`generic_last_name_helper(dentry*, char const*, last_name_handling&amp;, unsigned int) (6,616 samples, 16.97%)</title><rect x="209.9" y="229" width="200.3" height="15.0" fill="rgb(247,45,19)" rx="2" ry="2" />
<text x="212.90" y="239.5" >vmonyx`generic_last_name_h..</text>
</g>
<g >
<title>vmonyx`rw_unlock_read(rwlock*) (13 samples, 0.03%)</title><rect x="773.4" y="181" width="0.4" height="15.0" fill="rgb(217,173,19)" rx="2" ry="2" />
<text x="776.41" y="191.5" ></text>
</g>
<g >
<title>vmonyx`rw_lock_wake_up_thread(rwlock*) (13 samples, 0.03%)</title><rect x="408.9" y="149" width="0.4" height="15.0" fill="rgb(221,35,4)" rx="2" ry="2" />
<text x="411.94" y="159.5" ></text>
</g>
<g >
<title>vmonyx`x86_invalidate_tlb(void*) (93 samples, 0.24%)</title><rect x="186.2" y="117" width="2.8" height="15.0" fill="rgb(228,34,21)" rx="2" ry="2" />
<text x="189.19" y="127.5" ></text>
</g>
<g >
<title>vmonyx`mutex_unlock(mutex*) (14 samples, 0.04%)</title><rect x="1011.0" y="229" width="0.4" height="15.0" fill="rgb(237,64,54)" rx="2" ry="2" />
<text x="1014.02" y="239.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::~scoped_lock (15 samples, 0.04%)</title><rect x="851.0" y="133" width="0.5" height="15.0" fill="rgb(236,101,0)" rx="2" ry="2" />
<text x="854.03" y="143.5" ></text>
</g>
<g >
<title>vmonyx`sched_enable_preempt() (16 samples, 0.04%)</title><rect x="775.8" y="149" width="0.5" height="15.0" fill="rgb(218,71,1)" rx="2" ry="2" />
<text x="778.80" y="159.5" ></text>
</g>
<g >
<title>vmonyx`strlen (13 samples, 0.03%)</title><rect x="774.4" y="181" width="0.4" height="15.0" fill="rgb(244,52,36)" rx="2" ry="2" />
<text x="777.41" y="191.5" ></text>
</g>
<g >
<title>vmonyx`scoped_lock&lt;spinlock, false&gt;::scoped_lock (9 samples, 0.02%)</title><rect x="1011.1" y="213" width="0.2" height="15.0" fill="rgb(218,170,34)" rx="2" ry="2" />
<text x="1014.05" y="223.5" ></text>
</g>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment