|
|
<?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="646" onload="init(evt)" viewBox="0 0 1200 646" 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="646.0" fill="url(#background)" /> <text id="title" x="600.00" y="24" >Flame Graph</text> <text id="details" x="10.00" y="629" > </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="629" > </text> <g id="frames"> <g > <title>futex_wait_queue (1,739,970 samples, 0.01%)</title><rect x="659.0" y="293" width="0.1" height="15.0" fill="rgb(225,92,22)" rx="2" ry="2" /> <text x="661.95" y="303.5" ></text> </g> <g > <title>clear_huge_page (327,031,017 samples, 2.43%)</title><rect x="83.2" y="389" width="28.6" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="86.15" y="399.5" >cl..</text> </g> <g > <title>__mmu_notifier_invalidate_range_end (4,315,626 samples, 0.03%)</title><rect x="11.7" y="197" width="0.4" height="15.0" fill="rgb(207,11,2)" rx="2" ry="2" /> <text x="14.73" y="207.5" ></text> </g> <g > <title>std::_Hashtable<unsigned char*, std::pair<unsigned char* const, dsacache::CacheData>, std::allocator<std::pair<unsigned char* const, dsacache::CacheData> >, std::__detail::_Select1st, std::equal_to<unsigned char*>, std::hash<unsigned char*>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, false, true> >::clear (5,177,974 samples, 0.04%)</title><rect x="11.7" y="469" width="0.4" height="15.0" fill="rgb(226,96,23)" rx="2" ry="2" /> <text x="14.66" y="479.5" ></text> </g> <g > <title>perf_iterate_ctx (1,724,604 samples, 0.01%)</title><rect x="1135.9" y="69" width="0.1" height="15.0" fill="rgb(205,4,0)" rx="2" ry="2" /> <text x="1138.87" y="79.5" ></text> </g> <g > <title>void caching<1ul> (40,431,525 samples, 0.30%)</title><rect x="1133.0" y="501" width="3.5" height="15.0" fill="rgb(213,38,9)" rx="2" ry="2" /> <text x="1135.99" y="511.5" ></text> </g> <g > <title>__mmu_notifier_invalidate_range_end (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="165" width="0.6" height="15.0" fill="rgb(207,11,2)" rx="2" ry="2" /> <text x="1136.07" y="175.5" ></text> </g> <g > <title>_mid_memalign (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="277" width="2.2" height="15.0" fill="rgb(218,62,14)" rx="2" ry="2" /> <text x="1136.81" y="287.5" ></text> </g> <g > <title>std::__tree_barrier<NopStruct>::wait (1,739,970 samples, 0.01%)</title><rect x="659.0" y="469" width="0.1" height="15.0" fill="rgb(223,83,19)" rx="2" ry="2" /> <text x="661.95" y="479.5" ></text> </g> <g > <title>__GI_munmap (1,679,595 samples, 0.01%)</title><rect x="10.0" y="469" width="0.1" height="15.0" fill="rgb(217,57,13)" rx="2" ry="2" /> <text x="13.00" y="479.5" ></text> </g> <g > <title>_int_memalign (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="261" width="2.2" height="15.0" fill="rgb(208,17,4)" rx="2" ry="2" /> <text x="1136.81" y="271.5" ></text> </g> <g > <title>std::chrono::_V2::steady_clock::now (1,691,962,679 samples, 12.55%)</title><rect x="510.7" y="485" width="148.1" height="15.0" fill="rgb(249,203,48)" rx="2" ry="2" /> <text x="513.67" y="495.5" >std::chrono::_V2::..</text> </g> <g > <title>exc_page_fault (1,819,294,773 samples, 13.50%)</title><rect x="82.3" y="469" width="159.3" height="15.0" fill="rgb(212,35,8)" rx="2" ry="2" /> <text x="85.32" y="479.5" >exc_page_fault</text> </g> <g > <title>free_unref_page (12,087,054 samples, 0.09%)</title><rect x="10.4" y="325" width="1.0" height="15.0" fill="rgb(253,224,53)" rx="2" ry="2" /> <text x="13.37" y="335.5" ></text> </g> <g > <title>dml::core::dispatcher::hw_dispatcher::~hw_dispatcher (1,679,595 samples, 0.01%)</title><rect x="10.0" y="485" width="0.1" height="15.0" fill="rgb(249,206,49)" rx="2" ry="2" /> <text x="13.00" y="495.5" ></text> </g> <g > <title>__sysvec_apic_timer_interrupt (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="389" width="0.2" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2" /> <text x="1131.06" y="399.5" ></text> </g> <g > <title>perf_event_mmap (1,724,604 samples, 0.01%)</title><rect x="1135.9" y="101" width="0.1" height="15.0" fill="rgb(229,112,26)" rx="2" ry="2" /> <text x="1138.87" y="111.5" ></text> </g> <g > <title>advise_stack_range (1,739,797 samples, 0.01%)</title><rect x="1136.5" y="533" width="0.2" height="15.0" fill="rgb(236,145,34)" rx="2" ry="2" /> <text x="1139.53" y="543.5" ></text> </g> <g > <title>perf_adjust_freq_unthr_context (4,299,293 samples, 0.03%)</title><rect x="655.2" y="261" width="0.4" height="15.0" fill="rgb(236,146,35)" rx="2" ry="2" /> <text x="658.22" y="271.5" ></text> </g> <g > <title>qi_flush_dev_iotlb_pasid (1,726,916 samples, 0.01%)</title><rect x="11.7" y="165" width="0.2" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="14.73" y="175.5" ></text> </g> <g > <title>unsigned long std::uniform_int_distribution<unsigned long>::operator (2,642,523,934 samples, 19.61%)</title><rect x="241.8" y="485" width="231.4" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2" /> <text x="244.82" y="495.5" >unsigned long std::uniform_int..</text> </g> <g > <title>grow_heap (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="213" width="2.2" height="15.0" fill="rgb(237,151,36)" rx="2" ry="2" /> <text x="1136.81" y="223.5" ></text> </g> <g > <title>std::__detail::__waiter_pool::_M_do_wait (1,739,970 samples, 0.01%)</title><rect x="659.0" y="421" width="0.1" height="15.0" fill="rgb(216,54,13)" rx="2" ry="2" /> <text x="661.95" y="431.5" ></text> </g> <g > <title>qi_submit_sync (2,588,710 samples, 0.02%)</title><rect x="11.9" y="149" width="0.2" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2" /> <text x="14.89" y="159.5" ></text> </g> <g > <title>handle_mm_fault (6,022,765 samples, 0.04%)</title><rect x="980.0" y="437" width="0.6" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2" /> <text x="983.04" y="447.5" ></text> </g> <g > <title>__folio_alloc (2,574,263 samples, 0.02%)</title><rect x="980.3" y="373" width="0.3" height="15.0" fill="rgb(224,91,21)" rx="2" ry="2" /> <text x="983.34" y="383.5" ></text> </g> <g > <title>dml::detail::ml::buffer<std::allocator<unsigned char>, dml::detail::descriptor, dml::detail::completion_record>::buffer (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="357" width="2.2" height="15.0" fill="rgb(231,122,29)" rx="2" ry="2" /> <text x="1136.81" y="367.5" ></text> </g> <g > <title>std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>::operator (959,605,276 samples, 7.12%)</title><rect x="389.2" y="437" width="84.0" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2" /> <text x="392.16" y="447.5" >std::mers..</text> </g> <g > <title>do_huge_pmd_anonymous_page (4,311,772 samples, 0.03%)</title><rect x="980.2" y="405" width="0.4" height="15.0" fill="rgb(242,172,41)" rx="2" ry="2" /> <text x="983.19" y="415.5" ></text> </g> <g > <title>grow_heap (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="293" width="0.6" height="15.0" fill="rgb(237,151,36)" rx="2" ry="2" /> <text x="1136.07" y="303.5" ></text> </g> <g > <title>Filter<unsigned long, LT, (5,411,903,209 samples, 40.15%)</title><rect x="659.1" y="501" width="473.8" height="15.0" fill="rgb(234,136,32)" rx="2" ry="2" /> <text x="662.10" y="511.5" >Filter<unsigned long, LT, </text> </g> <g > <title>vma_alloc_folio (2,574,263 samples, 0.02%)</title><rect x="980.3" y="389" width="0.3" height="15.0" fill="rgb(245,187,44)" rx="2" ry="2" /> <text x="983.34" y="399.5" ></text> </g> <g > <title>__mmu_notifier_invalidate_range_end (23,570,936 samples, 0.17%)</title><rect x="1133.8" y="85" width="2.1" height="15.0" fill="rgb(207,11,2)" rx="2" ry="2" /> <text x="1136.81" y="95.5" ></text> </g> <g > <title>__GI_munmap (17,268,198 samples, 0.13%)</title><rect x="10.1" y="501" width="1.6" height="15.0" fill="rgb(217,57,13)" rx="2" ry="2" /> <text x="13.15" y="511.5" ></text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (2,824,555 samples, 0.02%)</title><rect x="1136.1" y="165" width="0.3" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="1139.12" y="175.5" ></text> </g> <g > <title>sysvec_apic_timer_interrupt (6,036,217 samples, 0.04%)</title><rect x="655.2" y="405" width="0.6" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="658.22" y="415.5" ></text> </g> <g > <title>dml::handler<dml::mem_copy_operation, dml::execution_interface<dml::hardware, std::allocator<unsigned char> >::allocator_type> dml::submit<dml::hardware, dml::execution_interface<dml::hardware, std::allocator<unsigned char> > > (31,098,656 samples, 0.23%)</title><rect x="1133.8" y="437" width="2.7" height="15.0" fill="rgb(252,219,52)" rx="2" ry="2" /> <text x="1136.81" y="447.5" ></text> </g> <g > <title>syscall (1,739,970 samples, 0.01%)</title><rect x="659.0" y="389" width="0.1" height="15.0" fill="rgb(234,136,32)" rx="2" ry="2" /> <text x="661.95" y="399.5" ></text> </g> <g > <title>_raw_spin_lock_irqsave (1,574,388 samples, 0.01%)</title><rect x="111.8" y="341" width="0.1" height="15.0" fill="rgb(247,195,46)" rx="2" ry="2" /> <text x="114.78" y="351.5" ></text> </g> <g > <title>do_syscall_64 (2,824,555 samples, 0.02%)</title><rect x="1136.1" y="149" width="0.3" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="1139.12" y="159.5" ></text> </g> <g > <title>auto dml::detail::submit<dml::hardware, dml::mem_copy_operation, dml::execution_interface<dml::hardware, std::allocator<unsigned char> >, dml::submit<dml::hardware, dml::execution_interface<dml::hardware, std::allocator<unsigned char> > > (31,098,656 samples, 0.23%)</title><rect x="1133.8" y="421" width="2.7" height="15.0" fill="rgb(216,53,12)" rx="2" ry="2" /> <text x="1136.81" y="431.5" ></text> </g> <g > <title>dsacache::Cache::Access (40,431,525 samples, 0.30%)</title><rect x="1133.0" y="485" width="3.5" height="15.0" fill="rgb(209,18,4)" rx="2" ry="2" /> <text x="1135.99" y="495.5" ></text> </g> <g > <title>unsigned long std::uniform_int_distribution<unsigned long>::operator (2,636,449,788 samples, 19.56%)</title><rect x="242.4" y="469" width="230.8" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2" /> <text x="245.35" y="479.5" >unsigned long std::uniform_int..</text> </g> <g > <title>asm_exc_page_fault (1,821,899,562 samples, 13.52%)</title><rect x="82.3" y="485" width="159.5" height="15.0" fill="rgb(225,93,22)" rx="2" ry="2" /> <text x="85.32" y="495.5" >asm_exc_page_fault</text> </g> <g > <title>__GI__IO_file_doallocate (7,607,464 samples, 0.06%)</title><rect x="1133.0" y="357" width="0.7" height="15.0" fill="rgb(212,32,7)" rx="2" ry="2" /> <text x="1135.99" y="367.5" ></text> </g> <g > <title>sync_regs (2,604,789 samples, 0.02%)</title><rect x="241.6" y="469" width="0.2" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2" /> <text x="244.60" y="479.5" ></text> </g> <g > <title>qi_flush_piotlb (10,915,702 samples, 0.08%)</title><rect x="1134.9" y="53" width="1.0" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2" /> <text x="1137.92" y="63.5" ></text> </g> <g > <title>qi_submit_sync (1,726,916 samples, 0.01%)</title><rect x="11.7" y="149" width="0.2" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2" /> <text x="14.73" y="159.5" ></text> </g> <g > <title>std::barrier<NopStruct>::arrive_and_wait (1,739,970 samples, 0.01%)</title><rect x="659.0" y="501" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2" /> <text x="661.95" y="511.5" ></text> </g> <g > <title>try_charge_memcg (1,735,920 samples, 0.01%)</title><rect x="112.1" y="341" width="0.1" height="15.0" fill="rgb(210,27,6)" rx="2" ry="2" /> <text x="115.07" y="351.5" ></text> </g> <g > <title>dsacache::Cache::AllocOnNode (9,332,869 samples, 0.07%)</title><rect x="1133.0" y="453" width="0.8" height="15.0" fill="rgb(234,133,32)" rx="2" ry="2" /> <text x="1135.99" y="463.5" ></text> </g> <g > <title>perf_event_task_tick (20,760,710 samples, 0.15%)</title><rect x="41.0" y="341" width="1.8" height="15.0" fill="rgb(205,3,0)" rx="2" ry="2" /> <text x="44.01" y="351.5" ></text> </g> <g > <title>perf_event_task_tick (4,299,293 samples, 0.03%)</title><rect x="655.2" y="277" width="0.4" height="15.0" fill="rgb(205,3,0)" rx="2" ry="2" /> <text x="658.22" y="287.5" ></text> </g> <g > <title>__x64_sys_munmap (1,679,595 samples, 0.01%)</title><rect x="10.0" y="421" width="0.1" height="15.0" fill="rgb(206,7,1)" rx="2" ry="2" /> <text x="13.00" y="431.5" ></text> </g> <g > <title>copy_process (3,468,037 samples, 0.03%)</title><rect x="473.2" y="485" width="0.3" height="15.0" fill="rgb(233,130,31)" rx="2" ry="2" /> <text x="476.21" y="495.5" ></text> </g> <g > <title>std::common_type<std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::type std::chrono::operator-<std::chrono::_V2::steady_clock, std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > > (19,094,643 samples, 0.14%)</title><rect x="1131.2" y="485" width="1.7" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2" /> <text x="1134.24" y="495.5" ></text> </g> <g > <title>__GI_madvise (1,739,797 samples, 0.01%)</title><rect x="1136.5" y="517" width="0.2" height="15.0" fill="rgb(229,113,27)" rx="2" ry="2" /> <text x="1139.53" y="527.5" ></text> </g> <g > <title>unmap_region (4,315,626 samples, 0.03%)</title><rect x="11.7" y="229" width="0.4" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2" /> <text x="14.73" y="239.5" ></text> </g> <g > <title>dml::core::dispatcher::hw_dispatcher::hw_dispatcher (4,958,906 samples, 0.04%)</title><rect x="1136.1" y="341" width="0.4" height="15.0" fill="rgb(213,40,9)" rx="2" ry="2" /> <text x="1139.10" y="351.5" ></text> </g> <g > <title>zap_huge_pmd (2,590,090 samples, 0.02%)</title><rect x="11.4" y="341" width="0.3" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2" /> <text x="14.43" y="351.5" ></text> </g> <g > <title>std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned char* const, dsacache::CacheData>, false> > >::_M_deallocate_nodes (5,177,974 samples, 0.04%)</title><rect x="11.7" y="453" width="0.4" height="15.0" fill="rgb(226,97,23)" rx="2" ry="2" /> <text x="14.66" y="463.5" ></text> </g> <g > <title>void std::__detail::__waiter<std::integral_constant<bool, true> >::_M_do_wait<std::__tree_barrier<NopStruct>::wait (1,739,970 samples, 0.01%)</title><rect x="659.0" y="437" width="0.1" height="15.0" fill="rgb(250,210,50)" rx="2" ry="2" /> <text x="661.95" y="447.5" ></text> </g> <g > <title>std::chrono::_V2::steady_clock::now (1,714,183,943 samples, 12.72%)</title><rect x="981.2" y="485" width="150.0" height="15.0" fill="rgb(249,203,48)" rx="2" ry="2" /> <text x="984.17" y="495.5" >std::chrono::_V2::s..</text> </g> <g > <title>dsacache::Cache::SubmitTask (40,431,525 samples, 0.30%)</title><rect x="1133.0" y="469" width="3.5" height="15.0" fill="rgb(236,142,34)" rx="2" ry="2" /> <text x="1135.99" y="479.5" ></text> </g> <g > <title>__GI__IO_doallocbuf (7,607,464 samples, 0.06%)</title><rect x="1133.0" y="373" width="0.7" height="15.0" fill="rgb(243,177,42)" rx="2" ry="2" /> <text x="1135.99" y="383.5" ></text> </g> <g > <title>tick_sched_timer (5,167,785 samples, 0.04%)</title><rect x="655.2" y="341" width="0.5" height="15.0" fill="rgb(254,227,54)" rx="2" ry="2" /> <text x="658.22" y="351.5" ></text> </g> <g > <title>__memcg_kmem_charge_page (2,603,722 samples, 0.02%)</title><rect x="112.0" y="357" width="0.2" height="15.0" fill="rgb(217,57,13)" rx="2" ry="2" /> <text x="115.00" y="367.5" ></text> </g> <g > <title>perf_iterate_sb.constprop.0 (1,724,604 samples, 0.01%)</title><rect x="1135.9" y="85" width="0.1" height="15.0" fill="rgb(229,113,27)" rx="2" ry="2" /> <text x="1138.87" y="95.5" ></text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (1,739,970 samples, 0.01%)</title><rect x="659.0" y="373" width="0.1" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="661.95" y="383.5" ></text> </g> <g > <title>__list_del_entry_valid (1,735,652 samples, 0.01%)</title><rect x="112.2" y="325" width="0.2" height="15.0" fill="rgb(239,158,37)" rx="2" ry="2" /> <text x="115.23" y="335.5" ></text> </g> <g > <title>do_syscall_64 (1,739,970 samples, 0.01%)</title><rect x="659.0" y="357" width="0.1" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="661.95" y="367.5" ></text> </g> <g > <title>scheduler_tick (1,704,757 samples, 0.01%)</title><rect x="980.9" y="357" width="0.2" height="15.0" fill="rgb(246,190,45)" rx="2" ry="2" /> <text x="983.94" y="367.5" ></text> </g> <g > <title>perf_event_task_tick (1,704,757 samples, 0.01%)</title><rect x="980.9" y="341" width="0.2" height="15.0" fill="rgb(205,3,0)" rx="2" ry="2" /> <text x="983.94" y="351.5" ></text> </g> <g > <title>__GI___getdelim (8,469,848 samples, 0.06%)</title><rect x="1133.0" y="421" width="0.7" height="15.0" fill="rgb(219,65,15)" rx="2" ry="2" /> <text x="1135.99" y="431.5" ></text> </g> <g > <title>do_huge_pmd_anonymous_page (1,816,689,561 samples, 13.48%)</title><rect x="82.5" y="405" width="159.0" height="15.0" fill="rgb(242,172,41)" rx="2" ry="2" /> <text x="85.47" y="415.5" >do_huge_pmd_anonymou..</text> </g> <g > <title>dml::submit<dml::hardware, dml::execution_interface<dml::hardware, std::allocator<unsigned char> > > (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="405" width="2.2" height="15.0" fill="rgb(234,134,32)" rx="2" ry="2" /> <text x="1136.81" y="415.5" ></text> </g> <g > <title>perf_event_init_task (2,599,737 samples, 0.02%)</title><rect x="473.3" y="469" width="0.2" height="15.0" fill="rgb(247,195,46)" rx="2" ry="2" /> <text x="476.29" y="479.5" ></text> </g> <g > <title>qi_submit_sync (1,679,595 samples, 0.01%)</title><rect x="10.0" y="277" width="0.1" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2" /> <text x="13.00" y="287.5" ></text> </g> <g > <title>__GI_exit (1,679,595 samples, 0.01%)</title><rect x="10.0" y="517" width="0.1" height="15.0" fill="rgb(236,147,35)" rx="2" ry="2" /> <text x="13.00" y="527.5" ></text> </g> <g > <title>tick_sched_handle (20,760,710 samples, 0.15%)</title><rect x="41.0" y="389" width="1.8" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2" /> <text x="44.01" y="399.5" ></text> </g> <g > <title>[[vdso]] (1,255,679,649 samples, 9.32%)</title><rect x="1018.4" y="437" width="109.9" height="15.0" fill="rgb(218,60,14)" rx="2" ry="2" /> <text x="1021.35" y="447.5" >[[vdso]]</text> </g> <g > <title>update_process_times (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="309" width="0.2" height="15.0" fill="rgb(250,209,50)" rx="2" ry="2" /> <text x="1131.06" y="319.5" ></text> </g> <g > <title>asm_sysvec_apic_timer_interrupt (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="421" width="0.2" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2" /> <text x="1131.06" y="431.5" ></text> </g> <g > <title>do_syscall_64 (3,468,037 samples, 0.03%)</title><rect x="473.2" y="533" width="0.3" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="476.21" y="543.5" ></text> </g> <g > <title>get_page_from_freelist (2,574,263 samples, 0.02%)</title><rect x="980.3" y="341" width="0.3" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2" /> <text x="983.34" y="351.5" ></text> </g> <g > <title>clear_page_erms (1,737,509 samples, 0.01%)</title><rect x="980.2" y="373" width="0.1" height="15.0" fill="rgb(229,113,27)" rx="2" ry="2" /> <text x="983.19" y="383.5" ></text> </g> <g > <title>do_vmi_align_munmap (1,679,595 samples, 0.01%)</title><rect x="10.0" y="373" width="0.1" height="15.0" fill="rgb(211,29,7)" rx="2" ry="2" /> <text x="13.00" y="383.5" ></text> </g> <g > <title>do_user_addr_fault (6,888,173 samples, 0.05%)</title><rect x="980.0" y="453" width="0.6" height="15.0" fill="rgb(228,108,25)" rx="2" ry="2" /> <text x="983.04" y="463.5" ></text> </g> <g > <title>std::common_type<std::chrono::duration<long, std::ratio<1l, 1000000000l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> > >::type std::chrono::operator-<long, std::ratio<1l, 1000000000l>, long, std::ratio<1l, 1000000000l> > (19,094,643 samples, 0.14%)</title><rect x="1131.2" y="469" width="1.7" height="15.0" fill="rgb(210,25,6)" rx="2" ry="2" /> <text x="1134.24" y="479.5" ></text> </g> <g > <title>sysvec_apic_timer_interrupt (20,760,710 samples, 0.15%)</title><rect x="41.0" y="469" width="1.8" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="44.01" y="479.5" ></text> </g> <g > <title>unsigned int std::uniform_int_distribution<unsigned long>::_S_nd<unsigned long, std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>, unsigned int> (1,677,102,236 samples, 12.44%)</title><rect x="326.3" y="453" width="146.9" height="15.0" fill="rgb(237,147,35)" rx="2" ry="2" /> <text x="329.35" y="463.5" >unsigned int std::..</text> </g> <g > <title>tick_sched_timer (2,573,741 samples, 0.02%)</title><rect x="980.9" y="405" width="0.2" height="15.0" fill="rgb(254,227,54)" rx="2" ry="2" /> <text x="983.87" y="415.5" ></text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (1,739,797 samples, 0.01%)</title><rect x="1136.5" y="501" width="0.2" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="1139.53" y="511.5" ></text> </g> <g > <title>do_filp_open (2,824,555 samples, 0.02%)</title><rect x="1136.1" y="101" width="0.3" height="15.0" fill="rgb(211,28,6)" rx="2" ry="2" /> <text x="1139.12" y="111.5" ></text> </g> <g > <title>unmap_region (17,268,198 samples, 0.13%)</title><rect x="10.1" y="389" width="1.6" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2" /> <text x="13.15" y="399.5" ></text> </g> <g > <title>std::allocator<dml::detail::ml::utils::structure_from<dml::detail::descriptor, dml::detail::completion_record> >::allocate (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="325" width="2.2" height="15.0" fill="rgb(221,76,18)" rx="2" ry="2" /> <text x="1136.81" y="335.5" ></text> </g> <g > <title>change_protection (23,570,936 samples, 0.17%)</title><rect x="1133.8" y="101" width="2.1" height="15.0" fill="rgb(209,22,5)" rx="2" ry="2" /> <text x="1136.81" y="111.5" ></text> </g> <g > <title>intel_invalidate_range (4,315,626 samples, 0.03%)</title><rect x="11.7" y="181" width="0.4" height="15.0" fill="rgb(228,107,25)" rx="2" ry="2" /> <text x="14.73" y="191.5" ></text> </g> <g > <title>free_tail_page_prepare (9,496,754 samples, 0.07%)</title><rect x="10.6" y="293" width="0.8" height="15.0" fill="rgb(251,211,50)" rx="2" ry="2" /> <text x="13.60" y="303.5" ></text> </g> <g > <title>asm_exc_page_fault (6,888,173 samples, 0.05%)</title><rect x="980.0" y="485" width="0.6" height="15.0" fill="rgb(225,93,22)" rx="2" ry="2" /> <text x="983.04" y="495.5" ></text> </g> <g > <title>folio_add_lru (1,574,388 samples, 0.01%)</title><rect x="111.8" y="389" width="0.1" height="15.0" fill="rgb(208,17,4)" rx="2" ry="2" /> <text x="114.78" y="399.5" ></text> </g> <g > <title>update_process_times (5,167,785 samples, 0.04%)</title><rect x="655.2" y="309" width="0.5" height="15.0" fill="rgb(250,209,50)" rx="2" ry="2" /> <text x="658.22" y="319.5" ></text> </g> <g > <title>__run_exit_handlers (1,679,595 samples, 0.01%)</title><rect x="10.0" y="501" width="0.1" height="15.0" fill="rgb(216,51,12)" rx="2" ry="2" /> <text x="13.00" y="511.5" ></text> </g> <g > <title>Sum<unsigned long>::simd_agg (3,349,026 samples, 0.02%)</title><rect x="510.3" y="485" width="0.3" height="15.0" fill="rgb(228,107,25)" rx="2" ry="2" /> <text x="513.30" y="495.5" ></text> </g> <g > <title>schedule (1,739,970 samples, 0.01%)</title><rect x="659.0" y="277" width="0.1" height="15.0" fill="rgb(254,229,54)" rx="2" ry="2" /> <text x="661.95" y="287.5" ></text> </g> <g > <title>qi_flush_piotlb (2,588,710 samples, 0.02%)</title><rect x="11.9" y="165" width="0.2" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2" /> <text x="14.89" y="175.5" ></text> </g> <g > <title>[[vdso]] (1,207,632,714 samples, 8.96%)</title><rect x="550.0" y="437" width="105.8" height="15.0" fill="rgb(218,60,14)" rx="2" ry="2" /> <text x="553.02" y="447.5" >[[vdso]]</text> </g> <g > <title>dsacache::Cache::ExecuteCopy (31,098,656 samples, 0.23%)</title><rect x="1133.8" y="453" width="2.7" height="15.0" fill="rgb(220,72,17)" rx="2" ry="2" /> <text x="1136.81" y="463.5" ></text> </g> <g > <title>__libc_openat64 (2,824,555 samples, 0.02%)</title><rect x="1136.1" y="181" width="0.3" height="15.0" fill="rgb(209,21,5)" rx="2" ry="2" /> <text x="1139.12" y="191.5" ></text> </g> <g > <title>hrtimer_interrupt (2,573,741 samples, 0.02%)</title><rect x="980.9" y="437" width="0.2" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2" /> <text x="983.87" y="447.5" ></text> </g> <g > <title>__GI__IO_doallocbuf (7,607,464 samples, 0.06%)</title><rect x="1133.0" y="389" width="0.7" height="15.0" fill="rgb(243,177,42)" rx="2" ry="2" /> <text x="1135.99" y="399.5" ></text> </g> <g > <title>clone3 (7,578,221,982 samples, 56.23%)</title><rect x="473.2" y="565" width="663.5" height="15.0" fill="rgb(216,54,12)" rx="2" ry="2" /> <text x="476.21" y="575.5" >clone3</text> </g> <g > <title>mprotect_fixup (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="117" width="2.2" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2" /> <text x="1136.81" y="127.5" ></text> </g> <g > <title>__schedule (1,739,970 samples, 0.01%)</title><rect x="659.0" y="261" width="0.1" height="15.0" fill="rgb(227,103,24)" rx="2" ry="2" /> <text x="661.95" y="271.5" ></text> </g> <g > <title>__vm_munmap (1,679,595 samples, 0.01%)</title><rect x="10.0" y="405" width="0.1" height="15.0" fill="rgb(231,121,28)" rx="2" ry="2" /> <text x="13.00" y="415.5" ></text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (1,679,595 samples, 0.01%)</title><rect x="10.0" y="453" width="0.1" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="13.00" y="463.5" ></text> </g> <g > <title>__x64_sys_munmap (17,268,198 samples, 0.13%)</title><rect x="10.1" y="453" width="1.6" height="15.0" fill="rgb(206,7,1)" rx="2" ry="2" /> <text x="13.15" y="463.5" ></text> </g> <g > <title>QDPBench (13,478,052,093 samples, 100.00%)</title><rect x="10.0" y="581" width="1180.0" height="15.0" fill="rgb(233,131,31)" rx="2" ry="2" /> <text x="13.00" y="591.5" >QDPBench</text> </g> <g > <title>__hrtimer_run_queues (2,573,741 samples, 0.02%)</title><rect x="980.9" y="421" width="0.2" height="15.0" fill="rgb(237,150,35)" rx="2" ry="2" /> <text x="983.87" y="431.5" ></text> </g> <g > <title>__sysvec_apic_timer_interrupt (3,442,758 samples, 0.03%)</title><rect x="980.9" y="453" width="0.3" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2" /> <text x="983.87" y="463.5" ></text> </g> <g > <title>std::pair<unsigned char* const, dsacache::CacheData>::~pair (5,177,974 samples, 0.04%)</title><rect x="11.7" y="389" width="0.4" height="15.0" fill="rgb(213,39,9)" rx="2" ry="2" /> <text x="14.66" y="399.5" ></text> </g> <g > <title>__do_sys_clone3 (3,468,037 samples, 0.03%)</title><rect x="473.2" y="517" width="0.3" height="15.0" fill="rgb(231,122,29)" rx="2" ry="2" /> <text x="476.21" y="527.5" ></text> </g> <g > <title>__alloc_pages (2,574,263 samples, 0.02%)</title><rect x="980.3" y="357" width="0.3" height="15.0" fill="rgb(233,129,30)" rx="2" ry="2" /> <text x="983.34" y="367.5" ></text> </g> <g > <title>void std::__detail::__platform_wait<int> (1,739,970 samples, 0.01%)</title><rect x="659.0" y="405" width="0.1" height="15.0" fill="rgb(234,136,32)" rx="2" ry="2" /> <text x="661.95" y="415.5" ></text> </g> <g > <title>do_vmi_munmap (5,177,974 samples, 0.04%)</title><rect x="11.7" y="261" width="0.4" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2" /> <text x="14.66" y="271.5" ></text> </g> <g > <title>__hrtimer_run_queues (5,167,785 samples, 0.04%)</title><rect x="655.2" y="357" width="0.5" height="15.0" fill="rgb(237,150,35)" rx="2" ry="2" /> <text x="658.22" y="367.5" ></text> </g> <g > <title>get_page_from_freelist (1,474,202,521 samples, 10.94%)</title><rect x="112.5" y="341" width="129.0" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2" /> <text x="115.45" y="351.5" >get_page_from_fr..</text> </g> <g > <title>do_syscall_64 (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="245" width="0.6" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="1136.07" y="255.5" ></text> </g> <g > <title>unmap_page_range (2,590,090 samples, 0.02%)</title><rect x="11.4" y="357" width="0.3" height="15.0" fill="rgb(206,5,1)" rx="2" ry="2" /> <text x="14.43" y="367.5" ></text> </g> <g > <title>do_anonymous_page (1,710,993 samples, 0.01%)</title><rect x="980.0" y="405" width="0.2" height="15.0" fill="rgb(238,155,37)" rx="2" ry="2" /> <text x="983.04" y="415.5" ></text> </g> <g > <title>kernfs_fop_open (1,241,282 samples, 0.01%)</title><rect x="1136.2" y="53" width="0.1" height="15.0" fill="rgb(240,163,39)" rx="2" ry="2" /> <text x="1139.19" y="63.5" ></text> </g> <g > <title>folio_batch_move_lru (1,574,388 samples, 0.01%)</title><rect x="111.8" y="373" width="0.1" height="15.0" fill="rgb(207,10,2)" rx="2" ry="2" /> <text x="114.78" y="383.5" ></text> </g> <g > <title>unmap_region (1,679,595 samples, 0.01%)</title><rect x="10.0" y="357" width="0.1" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2" /> <text x="13.00" y="367.5" ></text> </g> <g > <title>clear_page_erms (2,574,263 samples, 0.02%)</title><rect x="980.3" y="325" width="0.3" height="15.0" fill="rgb(229,113,27)" rx="2" ry="2" /> <text x="983.34" y="335.5" ></text> </g> <g > <title>asm_sysvec_apic_timer_interrupt (6,034,647 samples, 0.04%)</title><rect x="980.6" y="485" width="0.6" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2" /> <text x="983.64" y="495.5" ></text> </g> <g > <title>_start (5,290,426,542 samples, 39.25%)</title><rect x="10.0" y="565" width="463.2" height="15.0" fill="rgb(245,185,44)" rx="2" ry="2" /> <text x="13.00" y="575.5" >_start</text> </g> <g > <title>do_sys_openat2 (2,824,555 samples, 0.02%)</title><rect x="1136.1" y="117" width="0.3" height="15.0" fill="rgb(253,221,52)" rx="2" ry="2" /> <text x="1139.12" y="127.5" ></text> </g> <g > <title>do_vmi_munmap (1,679,595 samples, 0.01%)</title><rect x="10.0" y="389" width="0.1" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2" /> <text x="13.00" y="399.5" ></text> </g> <g > <title>dml::core::dispatcher::hw_dispatcher::get_instance (4,958,907 samples, 0.04%)</title><rect x="1136.1" y="357" width="0.4" height="15.0" fill="rgb(243,178,42)" rx="2" ry="2" /> <text x="1139.10" y="367.5" ></text> </g> <g > <title>__sysvec_apic_timer_interrupt (20,760,710 samples, 0.15%)</title><rect x="41.0" y="453" width="1.8" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2" /> <text x="44.01" y="463.5" ></text> </g> <g > <title>perf_adjust_freq_unthr_context (20,760,710 samples, 0.15%)</title><rect x="41.0" y="325" width="1.8" height="15.0" fill="rgb(236,146,35)" rx="2" ry="2" /> <text x="44.01" y="335.5" ></text> </g> <g > <title>sysmalloc (7,607,464 samples, 0.06%)</title><rect x="1133.0" y="309" width="0.7" height="15.0" fill="rgb(213,38,9)" rx="2" ry="2" /> <text x="1135.99" y="319.5" ></text> </g> <g > <title>qi_flush_dev_iotlb_pasid (4,174,802 samples, 0.03%)</title><rect x="1133.1" y="133" width="0.3" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="1136.07" y="143.5" ></text> </g> <g > <title>clock_gettime@plt (33,987,260 samples, 0.25%)</title><rect x="655.8" y="469" width="3.0" height="15.0" fill="rgb(229,112,27)" rx="2" ry="2" /> <text x="658.82" y="479.5" ></text> </g> <g > <title>add_wq (4,519,291 samples, 0.03%)</title><rect x="1136.1" y="229" width="0.4" height="15.0" fill="rgb(232,126,30)" rx="2" ry="2" /> <text x="1139.10" y="239.5" ></text> </g> <g > <title>folio_lruvec_lock_irqsave (1,574,388 samples, 0.01%)</title><rect x="111.8" y="357" width="0.1" height="15.0" fill="rgb(235,138,33)" rx="2" ry="2" /> <text x="114.78" y="367.5" ></text> </g> <g > <title>__GI___libc_malloc (7,607,464 samples, 0.06%)</title><rect x="1133.0" y="341" width="0.7" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2" /> <text x="1135.99" y="351.5" ></text> </g> <g > <title>do_dentry_open (1,241,282 samples, 0.01%)</title><rect x="1136.2" y="69" width="0.1" height="15.0" fill="rgb(243,175,41)" rx="2" ry="2" /> <text x="1139.19" y="79.5" ></text> </g> <g > <title>unsigned int std::uniform_int_distribution<unsigned long>::_S_nd<unsigned long, std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>, unsigned int> (608,239,162 samples, 4.51%)</title><rect x="1136.7" y="549" width="53.3" height="15.0" fill="rgb(237,147,35)" rx="2" ry="2" /> <text x="1139.75" y="559.5" >unsig..</text> </g> <g > <title>dsacache::CacheData::~CacheData (5,177,974 samples, 0.04%)</title><rect x="11.7" y="373" width="0.4" height="15.0" fill="rgb(225,93,22)" rx="2" ry="2" /> <text x="14.66" y="383.5" ></text> </g> <g > <title>__handle_mm_fault (6,022,765 samples, 0.04%)</title><rect x="980.0" y="421" width="0.6" height="15.0" fill="rgb(207,9,2)" rx="2" ry="2" /> <text x="983.04" y="431.5" ></text> </g> <g > <title>update_process_times (20,760,710 samples, 0.15%)</title><rect x="41.0" y="373" width="1.8" height="15.0" fill="rgb(250,209,50)" rx="2" ry="2" /> <text x="44.01" y="383.5" ></text> </g> <g > <title>sysmalloc (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="229" width="2.2" height="15.0" fill="rgb(213,38,9)" rx="2" ry="2" /> <text x="1136.81" y="239.5" ></text> </g> <g > <title>__x64_sys_munmap (5,177,974 samples, 0.04%)</title><rect x="11.7" y="293" width="0.4" height="15.0" fill="rgb(206,7,1)" rx="2" ry="2" /> <text x="14.66" y="303.5" ></text> </g> <g > <title>unmap_vmas (4,315,626 samples, 0.03%)</title><rect x="11.7" y="213" width="0.4" height="15.0" fill="rgb(243,176,42)" rx="2" ry="2" /> <text x="14.73" y="223.5" ></text> </g> <g > <title>intel_invalidate_range (1,679,595 samples, 0.01%)</title><rect x="10.0" y="309" width="0.1" height="15.0" fill="rgb(228,107,25)" rx="2" ry="2" /> <text x="13.00" y="319.5" ></text> </g> <g > <title>scan_b (40,431,526 samples, 0.30%)</title><rect x="1133.0" y="517" width="3.5" height="15.0" fill="rgb(247,193,46)" rx="2" ry="2" /> <text x="1135.99" y="527.5" ></text> </g> <g > <title>unmap_vmas (1,679,595 samples, 0.01%)</title><rect x="10.0" y="341" width="0.1" height="15.0" fill="rgb(243,176,42)" rx="2" ry="2" /> <text x="13.00" y="351.5" ></text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (5,177,974 samples, 0.04%)</title><rect x="11.7" y="325" width="0.4" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="14.66" y="335.5" ></text> </g> <g > <title>accfg_get_param_long (3,788,940 samples, 0.03%)</title><rect x="1136.1" y="213" width="0.3" height="15.0" fill="rgb(217,57,13)" rx="2" ry="2" /> <text x="1139.10" y="223.5" ></text> </g> <g > <title>std::allocator_traits<std::allocator<dml::detail::ml::utils::structure_from<dml::detail::descriptor, dml::detail::completion_record> > >::allocate (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="341" width="2.2" height="15.0" fill="rgb(234,136,32)" rx="2" ry="2" /> <text x="1136.81" y="351.5" ></text> </g> <g > <title>unsigned long std::uniform_int_distribution<unsigned long>::operator (608,239,162 samples, 4.51%)</title><rect x="1136.7" y="565" width="53.3" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2" /> <text x="1139.75" y="575.5" >unsig..</text> </g> <g > <title>unmap_vmas (2,590,090 samples, 0.02%)</title><rect x="11.4" y="373" width="0.3" height="15.0" fill="rgb(243,176,42)" rx="2" ry="2" /> <text x="14.43" y="383.5" ></text> </g> <g > <title>std::__new_allocator<dml::detail::ml::utils::structure_from<dml::detail::descriptor, dml::detail::completion_record> >::allocate (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="309" width="2.2" height="15.0" fill="rgb(248,201,48)" rx="2" ry="2" /> <text x="1136.81" y="319.5" ></text> </g> <g > <title>intel_invalidate_range (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="149" width="0.6" height="15.0" fill="rgb(228,107,25)" rx="2" ry="2" /> <text x="1136.07" y="159.5" ></text> </g> <g > <title>sysvec_apic_timer_interrupt (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="405" width="0.2" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="1131.06" y="415.5" ></text> </g> <g > <title>dml::core::hardware_device::submit (5,803,116 samples, 0.04%)</title><rect x="1136.0" y="373" width="0.5" height="15.0" fill="rgb(249,202,48)" rx="2" ry="2" /> <text x="1139.02" y="383.5" ></text> </g> <g > <title>dml::detail::ml::task<std::allocator<unsigned char> >::task (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="373" width="2.2" height="15.0" fill="rgb(224,90,21)" rx="2" ry="2" /> <text x="1136.81" y="383.5" ></text> </g> <g > <title>dsacache::CacheData::WaitOnCompletion (5,177,974 samples, 0.04%)</title><rect x="11.7" y="357" width="0.4" height="15.0" fill="rgb(234,134,32)" rx="2" ry="2" /> <text x="14.66" y="367.5" ></text> </g> <g > <title>do_syscall_64 (5,177,974 samples, 0.04%)</title><rect x="11.7" y="309" width="0.4" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="14.66" y="319.5" ></text> </g> <g > <title>do_futex (1,739,970 samples, 0.01%)</title><rect x="659.0" y="325" width="0.1" height="15.0" fill="rgb(245,184,44)" rx="2" ry="2" /> <text x="661.95" y="335.5" ></text> </g> <g > <title>inherit_task_group.isra.0 (2,599,737 samples, 0.02%)</title><rect x="473.3" y="453" width="0.2" height="15.0" fill="rgb(212,32,7)" rx="2" ry="2" /> <text x="476.29" y="463.5" ></text> </g> <g > <title>qi_submit_sync (4,174,802 samples, 0.03%)</title><rect x="1133.1" y="117" width="0.3" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2" /> <text x="1136.07" y="127.5" ></text> </g> <g > <title>perf_event_alloc (1,734,813 samples, 0.01%)</title><rect x="473.4" y="421" width="0.1" height="15.0" fill="rgb(209,19,4)" rx="2" ry="2" /> <text x="476.36" y="431.5" ></text> </g> <g > <title>__x64_sys_futex (1,739,970 samples, 0.01%)</title><rect x="659.0" y="341" width="0.1" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2" /> <text x="661.95" y="351.5" ></text> </g> <g > <title>_int_malloc (7,607,464 samples, 0.06%)</title><rect x="1133.0" y="325" width="0.7" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2" /> <text x="1135.99" y="335.5" ></text> </g> <g > <title>do_user_addr_fault (1,819,294,773 samples, 13.50%)</title><rect x="82.3" y="453" width="159.3" height="15.0" fill="rgb(228,108,25)" rx="2" ry="2" /> <text x="85.32" y="463.5" >do_user_addr_fault</text> </g> <g > <title>__rmqueue_pcplist (8,678,276 samples, 0.06%)</title><rect x="134.4" y="325" width="0.8" height="15.0" fill="rgb(230,118,28)" rx="2" ry="2" /> <text x="137.43" y="335.5" ></text> </g> <g > <title>__GI___clock_gettime (1,631,208,158 samples, 12.10%)</title><rect x="985.5" y="469" width="142.9" height="15.0" fill="rgb(214,45,10)" rx="2" ry="2" /> <text x="988.55" y="479.5" >__GI___clock_gettime</text> </g> <g > <title>__vdso_clock_gettime (1,595,028,674 samples, 11.83%)</title><rect x="988.7" y="453" width="139.7" height="15.0" fill="rgb(254,226,54)" rx="2" ry="2" /> <text x="991.72" y="463.5" >__vdso_clock_gett..</text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (17,268,198 samples, 0.13%)</title><rect x="10.1" y="485" width="1.6" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="13.15" y="495.5" ></text> </g> <g > <title>__sysvec_apic_timer_interrupt (6,036,217 samples, 0.04%)</title><rect x="655.2" y="389" width="0.6" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2" /> <text x="658.22" y="399.5" ></text> </g> <g > <title>dsacache::Cache::SubmitTask (5,803,116 samples, 0.04%)</title><rect x="1136.0" y="405" width="0.5" height="15.0" fill="rgb(236,142,34)" rx="2" ry="2" /> <text x="1139.02" y="415.5" ></text> </g> <g > <title>hrtimer_interrupt (20,760,710 samples, 0.15%)</title><rect x="41.0" y="437" width="1.8" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2" /> <text x="44.01" y="447.5" ></text> </g> <g > <title>_mm512_mask_add_epi64 (3,349,026 samples, 0.02%)</title><rect x="510.3" y="469" width="0.3" height="15.0" fill="rgb(246,189,45)" rx="2" ry="2" /> <text x="513.30" y="479.5" ></text> </g> <g > <title>__handle_mm_fault (1,818,426,587 samples, 13.49%)</title><rect x="82.3" y="421" width="159.2" height="15.0" fill="rgb(207,9,2)" rx="2" ry="2" /> <text x="85.32" y="431.5" >__handle_mm_fault</text> </g> <g > <title>__x64_sys_openat (2,824,555 samples, 0.02%)</title><rect x="1136.1" y="133" width="0.3" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2" /> <text x="1139.12" y="143.5" ></text> </g> <g > <title>__libc_start_main_impl (5,290,426,542 samples, 39.25%)</title><rect x="10.0" y="549" width="463.2" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="13.00" y="559.5" >__libc_start_main_impl</text> </g> <g > <title>scheduler_tick (4,299,293 samples, 0.03%)</title><rect x="655.2" y="293" width="0.4" height="15.0" fill="rgb(246,190,45)" rx="2" ry="2" /> <text x="658.22" y="303.5" ></text> </g> <g > <title>do_vmi_align_munmap (5,177,974 samples, 0.04%)</title><rect x="11.7" y="245" width="0.4" height="15.0" fill="rgb(211,29,7)" rx="2" ry="2" /> <text x="14.66" y="255.5" ></text> </g> <g > <title>tick_sched_handle (5,167,785 samples, 0.04%)</title><rect x="655.2" y="325" width="0.5" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2" /> <text x="658.22" y="335.5" ></text> </g> <g > <title>asm_sysvec_apic_timer_interrupt (6,893,223 samples, 0.05%)</title><rect x="655.1" y="421" width="0.7" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2" /> <text x="658.15" y="431.5" ></text> </g> <g > <title>tlb_finish_mmu (14,678,108 samples, 0.11%)</title><rect x="10.1" y="373" width="1.3" height="15.0" fill="rgb(251,212,50)" rx="2" ry="2" /> <text x="13.15" y="383.5" ></text> </g> <g > <title>void std::__atomic_wait_address<std::__barrier_phase_t, std::__tree_barrier<NopStruct>::wait (1,739,970 samples, 0.01%)</title><rect x="659.0" y="453" width="0.1" height="15.0" fill="rgb(252,216,51)" rx="2" ry="2" /> <text x="661.95" y="463.5" ></text> </g> <g > <title>operator new (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="293" width="2.2" height="15.0" fill="rgb(216,51,12)" rx="2" ry="2" /> <text x="1136.81" y="303.5" ></text> </g> <g > <title>__x64_sys_mprotect (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="149" width="2.2" height="15.0" fill="rgb(209,21,5)" rx="2" ry="2" /> <text x="1136.81" y="159.5" ></text> </g> <g > <title>do_vmi_align_munmap (17,268,198 samples, 0.13%)</title><rect x="10.1" y="405" width="1.6" height="15.0" fill="rgb(211,29,7)" rx="2" ry="2" /> <text x="13.15" y="415.5" ></text> </g> <g > <title>__folio_alloc (1,475,070,703 samples, 10.94%)</title><rect x="112.4" y="373" width="129.1" height="15.0" fill="rgb(224,91,21)" rx="2" ry="2" /> <text x="115.38" y="383.5" >__folio_alloc</text> </g> <g > <title>__vm_munmap (5,177,974 samples, 0.04%)</title><rect x="11.7" y="277" width="0.4" height="15.0" fill="rgb(231,121,28)" rx="2" ry="2" /> <text x="14.66" y="287.5" ></text> </g> <g > <title>__vdso_clock_gettime (1,597,729,157 samples, 11.85%)</title><rect x="515.9" y="453" width="139.9" height="15.0" fill="rgb(254,226,54)" rx="2" ry="2" /> <text x="518.94" y="463.5" >__vdso_clock_gett..</text> </g> <g > <title>handle_mm_fault (1,818,426,587 samples, 13.49%)</title><rect x="82.3" y="437" width="159.2" height="15.0" fill="rgb(234,135,32)" rx="2" ry="2" /> <text x="85.32" y="447.5" >handle_mm_fault</text> </g> <g > <title>start_thread (7,574,753,945 samples, 56.20%)</title><rect x="473.5" y="549" width="663.2" height="15.0" fill="rgb(212,34,8)" rx="2" ry="2" /> <text x="476.52" y="559.5" >start_thread</text> </g> <g > <title>openat (2,824,555 samples, 0.02%)</title><rect x="1136.1" y="197" width="0.3" height="15.0" fill="rgb(233,133,31)" rx="2" ry="2" /> <text x="1139.12" y="207.5" ></text> </g> <g > <title>__GI_mprotect (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="197" width="2.2" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2" /> <text x="1136.81" y="207.5" ></text> </g> <g > <title>__GI_mprotect (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="277" width="0.6" height="15.0" fill="rgb(220,71,17)" rx="2" ry="2" /> <text x="1136.07" y="287.5" ></text> </g> <g > <title>scan_a (5,412,771,977 samples, 40.16%)</title><rect x="659.1" y="517" width="473.9" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2" /> <text x="662.10" y="527.5" >scan_a</text> </g> <g > <title>auto dml::detail::ml::make_mem_move_task<std::allocator<unsigned char> > (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="389" width="2.2" height="15.0" fill="rgb(216,52,12)" rx="2" ry="2" /> <text x="1136.81" y="399.5" ></text> </g> <g > <title>tick_sched_handle (1,704,757 samples, 0.01%)</title><rect x="980.9" y="389" width="0.2" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2" /> <text x="983.94" y="399.5" ></text> </g> <g > <title>change_protection (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="181" width="0.6" height="15.0" fill="rgb(209,22,5)" rx="2" ry="2" /> <text x="1136.07" y="191.5" ></text> </g> <g > <title>wqs_init (4,519,291 samples, 0.03%)</title><rect x="1136.1" y="277" width="0.4" height="15.0" fill="rgb(241,169,40)" rx="2" ry="2" /> <text x="1139.10" y="287.5" ></text> </g> <g > <title>path_openat (2,824,555 samples, 0.02%)</title><rect x="1136.1" y="85" width="0.3" height="15.0" fill="rgb(249,202,48)" rx="2" ry="2" /> <text x="1139.12" y="95.5" ></text> </g> <g > <title>do_syscall_64 (17,268,198 samples, 0.13%)</title><rect x="10.1" y="469" width="1.6" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="13.15" y="479.5" ></text> </g> <g > <title>all (13,478,052,094 samples, 100%)</title><rect x="10.0" y="597" width="1180.0" height="15.0" fill="rgb(213,39,9)" rx="2" ry="2" /> <text x="13.00" y="607.5" ></text> </g> <g > <title>tick_sched_timer (20,760,710 samples, 0.15%)</title><rect x="41.0" y="405" width="1.8" height="15.0" fill="rgb(254,227,54)" rx="2" ry="2" /> <text x="44.01" y="415.5" ></text> </g> <g > <title>__vm_munmap (17,268,198 samples, 0.13%)</title><rect x="10.1" y="437" width="1.6" height="15.0" fill="rgb(231,121,28)" rx="2" ry="2" /> <text x="13.15" y="447.5" ></text> </g> <g > <title>update_process_times (1,704,757 samples, 0.01%)</title><rect x="980.9" y="373" width="0.2" height="15.0" fill="rgb(250,209,50)" rx="2" ry="2" /> <text x="983.94" y="383.5" ></text> </g> <g > <title>tick_sched_handle (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="325" width="0.2" height="15.0" fill="rgb(219,68,16)" rx="2" ry="2" /> <text x="1131.06" y="335.5" ></text> </g> <g > <title>void fill_mt<unsigned long> (4,915,410,540 samples, 36.47%)</title><rect x="42.8" y="501" width="430.4" height="15.0" fill="rgb(206,5,1)" rx="2" ry="2" /> <text x="45.83" y="511.5" >void fill_mt<unsigned long></text> </g> <g > <title>tick_sched_timer (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="341" width="0.2" height="15.0" fill="rgb(254,227,54)" rx="2" ry="2" /> <text x="1131.06" y="351.5" ></text> </g> <g > <title>do_vmi_munmap (17,268,198 samples, 0.13%)</title><rect x="10.1" y="421" width="1.6" height="15.0" fill="rgb(253,223,53)" rx="2" ry="2" /> <text x="13.15" y="431.5" ></text> </g> <g > <title>release_pages (13,814,219 samples, 0.10%)</title><rect x="10.2" y="341" width="1.2" height="15.0" fill="rgb(228,106,25)" rx="2" ry="2" /> <text x="13.22" y="351.5" ></text> </g> <g > <title>numa_node_size64 (9,332,869 samples, 0.07%)</title><rect x="1133.0" y="437" width="0.8" height="15.0" fill="rgb(216,52,12)" rx="2" ry="2" /> <text x="1135.99" y="447.5" ></text> </g> <g > <title>_int_malloc (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="245" width="2.2" height="15.0" fill="rgb(215,47,11)" rx="2" ry="2" /> <text x="1136.81" y="255.5" ></text> </g> <g > <title>main (5,288,746,947 samples, 39.24%)</title><rect x="10.1" y="517" width="463.1" height="15.0" fill="rgb(243,179,42)" rx="2" ry="2" /> <text x="13.15" y="527.5" >main</text> </g> <g > <title>std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>::operator (608,239,162 samples, 4.51%)</title><rect x="1136.7" y="533" width="53.3" height="15.0" fill="rgb(235,139,33)" rx="2" ry="2" /> <text x="1139.75" y="543.5" >std::..</text> </g> <g > <title>do_madvise (1,739,797 samples, 0.01%)</title><rect x="1136.5" y="453" width="0.2" height="15.0" fill="rgb(224,88,21)" rx="2" ry="2" /> <text x="1139.53" y="463.5" ></text> </g> <g > <title>exc_page_fault (6,888,173 samples, 0.05%)</title><rect x="980.0" y="469" width="0.6" height="15.0" fill="rgb(212,35,8)" rx="2" ry="2" /> <text x="983.04" y="479.5" ></text> </g> <g > <title>do_mprotect_pkey (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="213" width="0.6" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2" /> <text x="1136.07" y="223.5" ></text> </g> <g > <title>dsacache::Cache::Clear (5,177,974 samples, 0.04%)</title><rect x="11.7" y="501" width="0.4" height="15.0" fill="rgb(250,208,49)" rx="2" ry="2" /> <text x="14.66" y="511.5" ></text> </g> <g > <title>clear_huge_page (1,737,509 samples, 0.01%)</title><rect x="980.2" y="389" width="0.1" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="983.19" y="399.5" ></text> </g> <g > <title>dml::core::dispatcher::hw_device::initialize_new_device (4,958,905 samples, 0.04%)</title><rect x="1136.1" y="309" width="0.4" height="15.0" fill="rgb(242,174,41)" rx="2" ry="2" /> <text x="1139.10" y="319.5" ></text> </g> <g > <title>_raw_spin_lock (6,071,274 samples, 0.05%)</title><rect x="82.6" y="389" width="0.6" height="15.0" fill="rgb(239,160,38)" rx="2" ry="2" /> <text x="85.62" y="399.5" ></text> </g> <g > <title>__cond_resched (2,603,227 samples, 0.02%)</title><rect x="84.6" y="373" width="0.2" height="15.0" fill="rgb(217,58,14)" rx="2" ry="2" /> <text x="87.59" y="383.5" ></text> </g> <g > <title>pte_alloc_one (4,339,374 samples, 0.03%)</title><rect x="112.0" y="389" width="0.4" height="15.0" fill="rgb(252,217,51)" rx="2" ry="2" /> <text x="115.00" y="399.5" ></text> </g> <g > <title>sysvec_apic_timer_interrupt (4,298,295 samples, 0.03%)</title><rect x="980.8" y="469" width="0.4" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="983.79" y="479.5" ></text> </g> <g > <title>qi_submit_sync (12,655,234 samples, 0.09%)</title><rect x="1133.8" y="37" width="1.1" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2" /> <text x="1136.81" y="47.5" ></text> </g> <g > <title>__hrtimer_run_queues (20,760,710 samples, 0.15%)</title><rect x="41.0" y="421" width="1.8" height="15.0" fill="rgb(237,150,35)" rx="2" ry="2" /> <text x="44.01" y="431.5" ></text> </g> <g > <title>std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<unsigned char* const, dsacache::CacheData>, false> > >::_M_deallocate_node (5,177,974 samples, 0.04%)</title><rect x="11.7" y="437" width="0.4" height="15.0" fill="rgb(219,64,15)" rx="2" ry="2" /> <text x="14.66" y="447.5" ></text> </g> <g > <title>asm_sysvec_apic_timer_interrupt (20,760,710 samples, 0.15%)</title><rect x="41.0" y="485" width="1.8" height="15.0" fill="rgb(232,127,30)" rx="2" ry="2" /> <text x="44.01" y="495.5" ></text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="181" width="2.2" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="1136.81" y="191.5" ></text> </g> <g > <title>__x64_sys_madvise (1,739,797 samples, 0.01%)</title><rect x="1136.5" y="469" width="0.2" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="1139.53" y="479.5" ></text> </g> <g > <title>__GI_munmap (5,177,974 samples, 0.04%)</title><rect x="11.7" y="341" width="0.4" height="15.0" fill="rgb(217,57,13)" rx="2" ry="2" /> <text x="14.66" y="351.5" ></text> </g> <g > <title>do_anonymous_page (1,737,026 samples, 0.01%)</title><rect x="82.3" y="405" width="0.2" height="15.0" fill="rgb(238,155,37)" rx="2" ry="2" /> <text x="85.32" y="415.5" ></text> </g> <g > <title>mprotect_fixup (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="197" width="0.6" height="15.0" fill="rgb(236,144,34)" rx="2" ry="2" /> <text x="1136.07" y="207.5" ></text> </g> <g > <title>get_page_from_freelist (1,735,652 samples, 0.01%)</title><rect x="112.2" y="357" width="0.2" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2" /> <text x="115.23" y="367.5" ></text> </g> <g > <title>__hrtimer_run_queues (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="357" width="0.2" height="15.0" fill="rgb(237,150,35)" rx="2" ry="2" /> <text x="1131.06" y="367.5" ></text> </g> <g > <title>tlb_batch_pages_flush (13,814,219 samples, 0.10%)</title><rect x="10.2" y="357" width="1.2" height="15.0" fill="rgb(234,133,32)" rx="2" ry="2" /> <text x="13.22" y="367.5" ></text> </g> <g > <title>std::unordered_map<unsigned char*, dsacache::CacheData, std::hash<unsigned char*>, std::equal_to<unsigned char*>, std::allocator<std::pair<unsigned char* const, dsacache::CacheData> > >::clear (5,177,974 samples, 0.04%)</title><rect x="11.7" y="485" width="0.4" height="15.0" fill="rgb(222,78,18)" rx="2" ry="2" /> <text x="14.66" y="495.5" ></text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (3,468,037 samples, 0.03%)</title><rect x="473.2" y="549" width="0.3" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="476.21" y="559.5" ></text> </g> <g > <title>dml::core::dispatcher::hw_dispatcher::initialize_hw (4,958,906 samples, 0.04%)</title><rect x="1136.1" y="325" width="0.4" height="15.0" fill="rgb(242,173,41)" rx="2" ry="2" /> <text x="1139.10" y="335.5" ></text> </g> <g > <title>aggr_j (2,119,810,645 samples, 15.73%)</title><rect x="473.5" y="517" width="185.6" height="15.0" fill="rgb(221,75,17)" rx="2" ry="2" /> <text x="476.52" y="527.5" >aggr_j</text> </g> <g > <title>clear_page_erms (1,214,507,617 samples, 9.01%)</title><rect x="135.2" y="325" width="106.3" height="15.0" fill="rgb(229,113,27)" rx="2" ry="2" /> <text x="138.19" y="335.5" >clear_page_erms</text> </g> <g > <title>device_parse (4,519,291 samples, 0.03%)</title><rect x="1136.1" y="261" width="0.4" height="15.0" fill="rgb(237,147,35)" rx="2" ry="2" /> <text x="1139.10" y="271.5" ></text> </g> <g > <title>task_tick_fair (1,734,074 samples, 0.01%)</title><rect x="1128.1" y="277" width="0.2" height="15.0" fill="rgb(217,57,13)" rx="2" ry="2" /> <text x="1131.13" y="287.5" ></text> </g> <g > <title>accfg_wq_get_first (4,519,291 samples, 0.03%)</title><rect x="1136.1" y="293" width="0.4" height="15.0" fill="rgb(210,26,6)" rx="2" ry="2" /> <text x="1139.10" y="303.5" ></text> </g> <g > <title>dsacache::Cache::Access (1,737,345 samples, 0.01%)</title><rect x="658.8" y="501" width="0.2" height="15.0" fill="rgb(209,18,4)" rx="2" ry="2" /> <text x="661.80" y="511.5" ></text> </g> <g > <title>do_syscall_64 (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="165" width="2.2" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="1136.81" y="175.5" ></text> </g> <g > <title>Aggregation<unsigned long, Sum, (2,116,333,329 samples, 15.70%)</title><rect x="473.5" y="501" width="185.3" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2" /> <text x="476.52" y="511.5" >Aggregation<unsigned lon..</text> </g> <g > <title>__libc_start_call_main (5,290,426,542 samples, 39.25%)</title><rect x="10.0" y="533" width="463.2" height="15.0" fill="rgb(210,26,6)" rx="2" ry="2" /> <text x="13.00" y="543.5" >__libc_start_call_main</text> </g> <g > <title>qi_flush_piotlb (2,570,042 samples, 0.02%)</title><rect x="1133.4" y="133" width="0.3" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2" /> <text x="1136.43" y="143.5" ></text> </g> <g > <title>vma_alloc_folio (1,475,070,703 samples, 10.94%)</title><rect x="112.4" y="389" width="129.1" height="15.0" fill="rgb(245,187,44)" rx="2" ry="2" /> <text x="115.38" y="399.5" >vma_alloc_folio</text> </g> <g > <title>futex_wait (1,739,970 samples, 0.01%)</title><rect x="659.0" y="309" width="0.1" height="15.0" fill="rgb(235,138,33)" rx="2" ry="2" /> <text x="661.95" y="319.5" ></text> </g> <g > <title>void std::destroy_at<std::pair<unsigned char* const, dsacache::CacheData> > (5,177,974 samples, 0.04%)</title><rect x="11.7" y="405" width="0.4" height="15.0" fill="rgb(233,131,31)" rx="2" ry="2" /> <text x="14.66" y="415.5" ></text> </g> <g > <title>[libstdc++.so.6.0.32] (7,573,014,148 samples, 56.19%)</title><rect x="473.5" y="533" width="663.0" height="15.0" fill="rgb(222,81,19)" rx="2" ry="2" /> <text x="476.52" y="543.5" >[libstdc++.so.6.0.32]</text> </g> <g > <title>free_unref_page_prepare (12,087,054 samples, 0.09%)</title><rect x="10.4" y="309" width="1.0" height="15.0" fill="rgb(238,155,37)" rx="2" ry="2" /> <text x="13.37" y="319.5" ></text> </g> <g > <title>__mem_cgroup_charge (1,735,148 samples, 0.01%)</title><rect x="82.5" y="389" width="0.1" height="15.0" fill="rgb(218,60,14)" rx="2" ry="2" /> <text x="85.47" y="399.5" ></text> </g> <g > <title>void std::allocator_traits<std::allocator<std::__detail::_Hash_node<std::pair<unsigned char* const, dsacache::CacheData>, false> > >::destroy<std::pair<unsigned char* const, dsacache::CacheData> > (5,177,974 samples, 0.04%)</title><rect x="11.7" y="421" width="0.4" height="15.0" fill="rgb(230,116,27)" rx="2" ry="2" /> <text x="14.66" y="431.5" ></text> </g> <g > <title>scheduler_tick (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="293" width="0.2" height="15.0" fill="rgb(246,190,45)" rx="2" ry="2" /> <text x="1131.06" y="303.5" ></text> </g> <g > <title>qi_submit_sync (2,570,042 samples, 0.02%)</title><rect x="1133.4" y="117" width="0.3" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2" /> <text x="1136.43" y="127.5" ></text> </g> <g > <title>clock_gettime@plt (32,929,155 samples, 0.24%)</title><rect x="1128.4" y="469" width="2.8" height="15.0" fill="rgb(229,112,27)" rx="2" ry="2" /> <text x="1131.36" y="479.5" ></text> </g> <g > <title>do_syscall_64 (1,739,797 samples, 0.01%)</title><rect x="1136.5" y="485" width="0.2" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="1139.53" y="495.5" ></text> </g> <g > <title>__alloc_pages (1,475,070,703 samples, 10.94%)</title><rect x="112.4" y="357" width="129.1" height="15.0" fill="rgb(233,129,30)" rx="2" ry="2" /> <text x="115.38" y="367.5" >__alloc_pages</text> </g> <g > <title>sum_check (350,026,063 samples, 2.60%)</title><rect x="12.2" y="501" width="30.6" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2" /> <text x="15.19" y="511.5" >su..</text> </g> <g > <title>kernel_clone (3,468,037 samples, 0.03%)</title><rect x="473.2" y="501" width="0.3" height="15.0" fill="rgb(241,169,40)" rx="2" ry="2" /> <text x="476.21" y="511.5" ></text> </g> <g > <title>_IO_new_file_underflow (8,469,848 samples, 0.06%)</title><rect x="1133.0" y="405" width="0.7" height="15.0" fill="rgb(214,42,10)" rx="2" ry="2" /> <text x="1135.99" y="415.5" ></text> </g> <g > <title>qi_submit_sync (10,915,702 samples, 0.08%)</title><rect x="1134.9" y="37" width="1.0" height="15.0" fill="rgb(239,159,38)" rx="2" ry="2" /> <text x="1137.92" y="47.5" ></text> </g> <g > <title>entry_SYSCALL_64_after_hwframe (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="261" width="0.6" height="15.0" fill="rgb(218,63,15)" rx="2" ry="2" /> <text x="1136.07" y="271.5" ></text> </g> <g > <title>std::mersenne_twister_engine<unsigned long, 32ul, 624ul, 397ul, 31ul, 2567483615ul, 11ul, 4294967295ul, 7ul, 2636928640ul, 15ul, 4022730752ul, 18ul, 1812433253ul>::_M_gen_rand (433,839,037 samples, 3.22%)</title><rect x="435.2" y="421" width="38.0" height="15.0" fill="rgb(207,12,3)" rx="2" ry="2" /> <text x="438.19" y="431.5" >std..</text> </g> <g > <title>intel_invalidate_range (23,570,936 samples, 0.17%)</title><rect x="1133.8" y="69" width="2.1" height="15.0" fill="rgb(228,107,25)" rx="2" ry="2" /> <text x="1136.81" y="79.5" ></text> </g> <g > <title>hrtimer_interrupt (6,036,217 samples, 0.04%)</title><rect x="655.2" y="373" width="0.6" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2" /> <text x="658.22" y="383.5" ></text> </g> <g > <title>__x64_sys_mprotect (6,744,844 samples, 0.05%)</title><rect x="1133.1" y="229" width="0.6" height="15.0" fill="rgb(209,21,5)" rx="2" ry="2" /> <text x="1136.07" y="239.5" ></text> </g> <g > <title>__sysfs_device_parse (4,519,291 samples, 0.03%)</title><rect x="1136.1" y="245" width="0.4" height="15.0" fill="rgb(226,99,23)" rx="2" ry="2" /> <text x="1139.10" y="255.5" ></text> </g> <g > <title>scheduler_tick (20,760,710 samples, 0.15%)</title><rect x="41.0" y="357" width="1.8" height="15.0" fill="rgb(246,190,45)" rx="2" ry="2" /> <text x="44.01" y="367.5" ></text> </g> <g > <title>qi_flush_dev_iotlb_pasid (12,655,234 samples, 0.09%)</title><rect x="1133.8" y="53" width="1.1" height="15.0" fill="rgb(220,69,16)" rx="2" ry="2" /> <text x="1136.81" y="63.5" ></text> </g> <g > <title>__alloc_pages (4,339,374 samples, 0.03%)</title><rect x="112.0" y="373" width="0.4" height="15.0" fill="rgb(233,129,30)" rx="2" ry="2" /> <text x="115.00" y="383.5" ></text> </g> <g > <title>do_mprotect_pkey (25,295,540 samples, 0.19%)</title><rect x="1133.8" y="133" width="2.2" height="15.0" fill="rgb(252,218,52)" rx="2" ry="2" /> <text x="1136.81" y="143.5" ></text> </g> <g > <title>dml::detail::ml::impl::hardware::submit (5,803,116 samples, 0.04%)</title><rect x="1136.0" y="389" width="0.5" height="15.0" fill="rgb(234,136,32)" rx="2" ry="2" /> <text x="1139.02" y="399.5" ></text> </g> <g > <title>__GI___clock_gettime (1,628,054,632 samples, 12.08%)</title><rect x="513.3" y="469" width="142.5" height="15.0" fill="rgb(214,45,10)" rx="2" ry="2" /> <text x="516.29" y="479.5" >__GI___clock_gettime</text> </g> <g > <title>hrtimer_interrupt (2,568,736 samples, 0.02%)</title><rect x="1128.1" y="373" width="0.2" height="15.0" fill="rgb(228,109,26)" rx="2" ry="2" /> <text x="1131.06" y="383.5" ></text> </g> <g > <title>qi_flush_piotlb (1,679,595 samples, 0.01%)</title><rect x="10.0" y="293" width="0.1" height="15.0" fill="rgb(251,215,51)" rx="2" ry="2" /> <text x="13.00" y="303.5" ></text> </g> <g > <title>perf_adjust_freq_unthr_context (1,704,757 samples, 0.01%)</title><rect x="980.9" y="325" width="0.2" height="15.0" fill="rgb(236,146,35)" rx="2" ry="2" /> <text x="983.94" y="335.5" ></text> </g> <g > <title>std::barrier<NopStruct>::wait (1,739,970 samples, 0.01%)</title><rect x="659.0" y="485" width="0.1" height="15.0" fill="rgb(254,229,54)" rx="2" ry="2" /> <text x="661.95" y="495.5" ></text> </g> <g > <title>clear_page_erms (307,946,959 samples, 2.28%)</title><rect x="84.8" y="373" width="27.0" height="15.0" fill="rgb(229,113,27)" rx="2" ry="2" /> <text x="87.82" y="383.5" >c..</text> </g> <g > <title>__rmqueue_pcplist (1,735,652 samples, 0.01%)</title><rect x="112.2" y="341" width="0.2" height="15.0" fill="rgb(230,118,28)" rx="2" ry="2" /> <text x="115.23" y="351.5" ></text> </g> <g > <title>__mmu_notifier_invalidate_range_end (1,679,595 samples, 0.01%)</title><rect x="10.0" y="325" width="0.1" height="15.0" fill="rgb(207,11,2)" rx="2" ry="2" /> <text x="13.00" y="335.5" ></text> </g> <g > <title>inherit_event.isra.0 (2,599,737 samples, 0.02%)</title><rect x="473.3" y="437" width="0.2" height="15.0" fill="rgb(206,8,2)" rx="2" ry="2" /> <text x="476.29" y="447.5" ></text> </g> <g > <title>do_syscall_64 (1,679,595 samples, 0.01%)</title><rect x="10.0" y="437" width="0.1" height="15.0" fill="rgb(209,20,4)" rx="2" ry="2" /> <text x="13.00" y="447.5" ></text> </g> </g> </svg>
|