=sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget2/translations/zh_CN/admin-guide/perf/meson-ddr-pmumodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget2/translations/zh_TW/admin-guide/perf/meson-ddr-pmumodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget2/translations/it_IT/admin-guide/perf/meson-ddr-pmumodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget2/translations/ja_JP/admin-guide/perf/meson-ddr-pmumodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget2/translations/ko_KR/admin-guide/perf/meson-ddr-pmumodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget2/translations/sp_SP/admin-guide/perf/meson-ddr-pmumodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhL/var/lib/git/docbuild/linux/Documentation/admin-guide/perf/meson-ddr-pmu.rsthKubhsection)}(hhh](htitle)}(h;Amlogic SoC DDR Bandwidth Performance Monitoring Unit (PMU)h]h;Amlogic SoC DDR Bandwidth Performance Monitoring Unit (PMU)}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh paragraph)}(hX&The Amlogic Meson G12 SoC contains a bandwidth monitor inside DRAM controller. The monitor includes 4 channels. Each channel can count the request accessing DRAM. The channel can count up to 3 AXI port simultaneously. It can be helpful to show if the performance bottleneck is on DDR bandwidth.h]hX&The Amlogic Meson G12 SoC contains a bandwidth monitor inside DRAM controller. The monitor includes 4 channels. Each channel can count the request accessing DRAM. The channel can count up to 3 AXI port simultaneously. It can be helpful to show if the performance bottleneck is on DDR bandwidth.}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh)}(hubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h*usb1 - from USB2.0 controller 1h]h)}(hjWh]h*usb1 - from USB2.0 controller 1}(hjYhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK.hjUubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h#audio - from Audio moduleh]h)}(hjnh]h#audio - from Audio module}(hjphhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK/hjlubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h+sd_emmc_c - from SD eMMC c controllerh]h)}(hjh]h+sd_emmc_c - from SD eMMC c controller}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK0hjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h'spicc2 - from SPI controller 2h]h)}(hjh]h'spicc2 - from SPI controller 2}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK1hjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubh)}(h,ethernet - from Ethernet controller h]h)}(h*ethernet - from Ethernet controllerh]h*ethernet - from Ethernet controller}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK2hjubah}(h]h ]h"]h$]h&]uh1hhjhhhhhNubeh}(h]h ]h"]h$]h&]jhjiuh1hhhhKhhhhubh)}(h Examples:h]h Examples:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK5hhhhubh block_quote)}(hX+ Show the total DDR bandwidth per seconds: .. code-block:: bash perf stat -a -e meson_ddr_bw/total_rw_bytes/ -I 1000 sleep 10 + Show individual DDR bandwidth from CPU and GPU respectively, as well as sum of them: .. code-block:: bash perf stat -a -e meson_ddr_bw/chan_1_rw_bytes,arm=1/ -I 1000 sleep 10 perf stat -a -e meson_ddr_bw/chan_2_rw_bytes,gpu=1/ -I 1000 sleep 10 perf stat -a -e meson_ddr_bw/chan_3_rw_bytes,arm=1,gpu=1/ -I 1000 sleep 10 h]h)}(hhh](h)}(hShow the total DDR bandwidth per seconds: .. code-block:: bash perf stat -a -e meson_ddr_bw/total_rw_bytes/ -I 1000 sleep 10 h](h)}(h)Show the total DDR bandwidth per seconds:h]h)Show the total DDR bandwidth per seconds:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK7hjubh literal_block)}(h=perf stat -a -e meson_ddr_bw/total_rw_bytes/ -I 1000 sleep 10h]h=perf stat -a -e meson_ddr_bw/total_rw_bytes/ -I 1000 sleep 10}hjsbah}(h]h ]h"]h$]h&]hhforcelanguagebashhighlight_args}uh1jhhhK9hjubeh}(h]h ]h"]h$]h&]uh1hhjubh)}(hXJShow individual DDR bandwidth from CPU and GPU respectively, as well as sum of them: .. code-block:: bash perf stat -a -e meson_ddr_bw/chan_1_rw_bytes,arm=1/ -I 1000 sleep 10 perf stat -a -e meson_ddr_bw/chan_2_rw_bytes,gpu=1/ -I 1000 sleep 10 perf stat -a -e meson_ddr_bw/chan_3_rw_bytes,arm=1,gpu=1/ -I 1000 sleep 10 h](h)}(hTShow individual DDR bandwidth from CPU and GPU respectively, as well as sum of them:h]hTShow individual DDR bandwidth from CPU and GPU respectively, as well as sum of them:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK>hjubj)}(hperf stat -a -e meson_ddr_bw/chan_1_rw_bytes,arm=1/ -I 1000 sleep 10 perf stat -a -e meson_ddr_bw/chan_2_rw_bytes,gpu=1/ -I 1000 sleep 10 perf stat -a -e meson_ddr_bw/chan_3_rw_bytes,arm=1,gpu=1/ -I 1000 sleep 10h]hperf stat -a -e meson_ddr_bw/chan_1_rw_bytes,arm=1/ -I 1000 sleep 10 perf stat -a -e meson_ddr_bw/chan_2_rw_bytes,gpu=1/ -I 1000 sleep 10 perf stat -a -e meson_ddr_bw/chan_3_rw_bytes,arm=1,gpu=1/ -I 1000 sleep 10}hj%sbah}(h]h ]h"]h$]h&]hhjj bashj }uh1jhhhKAhjubeh}(h]h ]h"]h$]h&]uh1hhjubeh}(h]h ]h"]h$]h&]jhjiuh1hhhhK7hjubah}(h]h ]h"]h$]h&]uh1jhhhK7hhhhubeh}(h]9amlogic-soc-ddr-bandwidth-performance-monitoring-unit-pmuah ]h"];amlogic soc ddr bandwidth performance monitoring unit (pmu)ah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksentryfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjrerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}jLjIs nametypes}jLsh}jIhs footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.