get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/127195/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 127195,
    "url": "http://patchwork.dpdk.org/api/patches/127195/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dts/patch/20230523091220.32474-3-tadhg.kearney@intel.com/",
    "project": {
        "id": 3,
        "url": "http://patchwork.dpdk.org/api/projects/3/?format=api",
        "name": "DTS",
        "link_name": "dts",
        "list_id": "dts.dpdk.org",
        "list_email": "dts@dpdk.org",
        "web_url": "",
        "scm_url": "git://dpdk.org/tools/dts",
        "webscm_url": "http://git.dpdk.org/tools/dts/",
        "list_archive_url": "https://inbox.dpdk.org/dts",
        "list_archive_url_format": "https://inbox.dpdk.org/dts/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230523091220.32474-3-tadhg.kearney@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230523091220.32474-3-tadhg.kearney@intel.com",
    "date": "2023-05-23T09:12:20",
    "name": "[v1,2/2] test_plans/power_intel_uncore: add test_plan for newly added test suite",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "d38acf7a02672a2491d3b86a944ea56db0c10a8d",
    "submitter": {
        "id": 2533,
        "url": "http://patchwork.dpdk.org/api/people/2533/?format=api",
        "name": "Tadhg Kearney",
        "email": "tadhg.kearney@intel.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.dpdk.org/project/dts/patch/20230523091220.32474-3-tadhg.kearney@intel.com/mbox/",
    "series": [
        {
            "id": 28126,
            "url": "http://patchwork.dpdk.org/api/series/28126/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dts/list/?series=28126",
            "date": "2023-05-23T09:12:18",
            "name": "add new power_intel_uncore testsuite",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/28126/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/127195/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/127195/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dts-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 32FBA42B7E;\n\tTue, 23 May 2023 11:12:48 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id CF6CA42C54;\n\tTue, 23 May 2023 11:12:47 +0200 (CEST)",
            "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id 4A18640EE5\n for <dts@dpdk.org>; Tue, 23 May 2023 11:12:45 +0200 (CEST)",
            "from orsmga007.jf.intel.com ([10.7.209.58])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 23 May 2023 02:12:26 -0700",
            "from silpixa00401183.ir.intel.com ([10.55.129.127])\n by orsmga007.jf.intel.com with ESMTP; 23 May 2023 02:12:25 -0700"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1684833165; x=1716369165;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=Vu6271ftM/P8fCR7/FCH1Uo2DY2OUwj10Ud4XAO06oA=;\n b=YTjHodBAZVLJvnJ1CD5RSijDY527KcTeP7Q6Ar5r8zyrWwqdB8QUijFx\n yH4pdhzof97yzz3+i8nbY6jVKOTPtmx8g3K60a004/l+n6kMVD5qgiYGc\n yP6bVDHqeh1XDv9SifCH0OAwbviyAVCwVgJe8O1DKl7HtctP/Z9WhSkLd\n rq5/ISrQAojai5gMVFLEqETFZt/871Xna879N3IGKQ7C2Y3rWlxuXFF7P\n ac2j8glLSk3eq2NwaoHNIHRSkgU02iGwBkmCtp4IevEm63F6Ks3ytV3R6\n RLP12TslNwWeg4d3uTaBYIexsZufxhK8eleAWcskVB/c8kxdobKUydfeW g==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10718\"; a=\"439538179\"",
            "E=Sophos;i=\"6.00,185,1681196400\"; d=\"scan'208\";a=\"439538179\"",
            "E=McAfee;i=\"6600,9927,10718\"; a=\"697986215\"",
            "E=Sophos;i=\"6.00,185,1681196400\"; d=\"scan'208\";a=\"697986215\""
        ],
        "X-ExtLoop1": "1",
        "From": "Tadhg Kearney <tadhg.kearney@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "reshma.pattan@intel.com, karen.kelly@intel.com,\n Tadhg Kearney <tadhg.kearney@intel.com>",
        "Subject": "[dts][PATCH v1 2/2] test_plans/power_intel_uncore: add test_plan for\n newly added test suite",
        "Date": "Tue, 23 May 2023 09:12:20 +0000",
        "Message-Id": "<20230523091220.32474-3-tadhg.kearney@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20230523091220.32474-1-tadhg.kearney@intel.com>",
        "References": "<20230523091220.32474-1-tadhg.kearney@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-BeenThere": "dts@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "test suite reviews and discussions <dts.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dts/>",
        "List-Post": "<mailto:dts@dpdk.org>",
        "List-Help": "<mailto:dts-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dts-bounces@dpdk.org"
    },
    "content": "Add new test_plan for newly added testsuite power_intel_uncore.\n\nSigned-off-by: Tadhg Kearney <tadhg.kearney@intel.com>\n---\n test_plans/index.rst                        |   1 +\n test_plans/power_intel_uncore_test_plan.rst | 126 ++++++++++++++++++++\n 2 files changed, 127 insertions(+)\n create mode 100644 test_plans/power_intel_uncore_test_plan.rst",
    "diff": "diff --git a/test_plans/index.rst b/test_plans/index.rst\nindex 2008f50b..c43ee002 100644\n--- a/test_plans/index.rst\n+++ b/test_plans/index.rst\n@@ -212,6 +212,7 @@ The following are the test plans for the DPDK DTS automated test system.\n     power_bidirection_channel_test_plan\n     power_branch_ratio_test_plan\n     power_empty_poll_test_plan\n+    power_intel_uncore_test_plan\n     power_pbf_test_plan\n     power_pmd_test_plan\n     power_pstate_test_plan\ndiff --git a/test_plans/power_intel_uncore_test_plan.rst b/test_plans/power_intel_uncore_test_plan.rst\nnew file mode 100644\nindex 00000000..aff8051c\n--- /dev/null\n+++ b/test_plans/power_intel_uncore_test_plan.rst\n@@ -0,0 +1,126 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+   Copyright(c) 2023 Intel Corporation\n+\n+============================\n+Power Intel Uncore Test Plan\n+============================\n+Uncore is a term used by Intel to describe the functions of a microprocessor that are\n+not in the core, but which must be closely connected to the core to achieve high performance;\n+L3 cache, on-die memory controller, etc.\n+L3fwd-power facilitates setting uncores frequency using DPDK Intel Uncore API.\n+\n+There is a test for each of the three options that are available for setting the uncore frequency,\n+along with one final test to check successful exiting of Uncore API.\n+\n+Uncore is changed per socket level, this test suite is designed to change the uncore value \n+for each socket, however only socket 0 is verified to see if a change has been made.\n+To view changed frequency, using MSR can be done on any core of the socket.\n+See \"Useful MSR 0x620 Information\" section for more information.\n+\n+Preperation work\n+================\n+1. Check kernel version to make sure that it's greater than 5.6\n+   uname -r\n+2. Check if uncore is enabled.\n+   cd /sys/devices/system/cpu/intel_uncore_frequency\n+      if not:\n+      check if kernel flag is enabled\n+         cat /boot/config-$(uname -r) | grep -i \"CONFIG_INTEL_UNCORE_FREQ_CONTROL\"\n+      Otherwise add uncore sysfs driver\n+         modprobe intel-uncore-frequency\n+3. Check if MSR driver is built-in or is loaded\n+   modprobe msr\n+\n+Useful MSR 0x620 Information\n+==========================\n+* MSR 0x620 is a seperate register interface to configure uncore P-state ratio\n+  limits and read back the current set uncore ratio limits.\n+* Bits 0:6 are for max ratio and bits 8:14 for min ratio.\n+* MSR 0x620 value is a ratio value, which means it must be multiplied by the base clock \n+  to get the uncore frequency in KHz. In this example 100000.\n+* When reading MSR 0x620 during this test suite core 0 on socket 0 is only checked\n+  for the uncore max and min ratio limits. When no core is specified for rdmsr,\n+  then it defaults to core 0.\n+\n+Test Case 1: Validate_power_uncore_freq_max\n+===========================================\n+Step 1. Check current max set uncore frequency versus max possible frequency\n+\n+   \"rdmsr 0x620 -f 6:0 -d\" * 100000\n+   cat /sys/devices/system/cpu/intel_uncore_frequency/package_00_die_00/initial_max_freq_khz\n+\n+   If these are equal, then change the value of each sysfs file by bringing them down 1 bin (100MHz).\n+\n+      echo {lower_uncore_max} > /sys/devices/system/cpu/intel_uncore_frequency/package_XX_die_XX/max_freq_khz\n+\n+Step 2. Run basic l3fwd-power configuration to set min/max uncore frequency to max limit\n+\n+   ./<build_target>/examples/dpdk-l3fwd-power -c 0x6 -n 1 -- -p 0x1 -P --config=\"(0,0,2)\" -U\n+\n+Step 3. Confirm uncore min/max frequencies are set to max limit\n+\n+   \"rdmsr 0x620 -f 6:0 -d\" * 100000\n+   \"rdmsr 0x620 -f 14:8\" * 100000\n+\n+\n+Test Case 2: Validate_power_uncore_freq_min\n+===========================================\n+\n+Step 1. Check current min set uncore frequency versus min possible frequency\n+\n+   \"rdmsr 0x620 -f 14:8\" * 100000\n+   cat /sys/devices/system/cpu/intel_uncore_frequency/package_00_die_00/initial_min_freq_khz\n+\n+   If these are equal, then change the value of each sysfs file by bringing them up 1 bin (100MHz) .\n+\n+      echo {higher_uncore_min} > /sys/devices/system/cpu/intel_uncore_frequency/package_XX_die_XX/min_freq_khz\n+\n+Step 2. Run basic l3fwd-power configuration to set min/max uncore frequency to min limit\n+\n+   ./<build_target>/examples/dpdk-l3fwd-power -c 0x6 -n 1 -- -p 0x1 -P --config=\"(0,0,2)\" -u\n+\n+Step 3. Confirm uncore min/max frequencies are set to min limit\n+\n+   \"rdmsr 0x620 -f 14:8\" * 100000\n+   \"rdmsr 0x620 -f 6:0 -d\" * 100000\n+\n+\n+Test Case 3: Validate_power_uncore_freq_idx\n+===========================================\n+\n+Step 1. Check current max uncore frequency versus index 2.\n+        Index 2 is equal to the frequency at index 2.\n+        This is equal to => max possible freq - 200000(2 bin (200MHz)).\n+        For example index range is [2400000, 2300000, 2200000,......,900000,800000], index 2 is 2200000.\n+\n+   \"rdmsr 0x620 -f 6:0 -d\" * 100000\n+   (cat /sys/devices/system/cpu/intel_uncore_frequency/package_00_die_00/initial_max_freq_khz) - 200000\n+\n+   If these are equal, then change the value of each sysfs file by bringing them up 1 bin (100MHz).\n+\n+      echo {higher_uncore_idx} > /sys/devices/system/cpu/intel_uncore_frequency/package_XX_die_XX/max_freq_khz\n+\n+Step 2. Run basic l3fwd-power configuration to set min/max uncore frequency to index value\n+\n+   ./<build_target>/examples/dpdk-l3fwd-power -c 0x6 -n 1 -- -p 0x1 -P --config=\"(0,0,2)\" -i 2\n+\n+Step 3. Confirm uncore min/max frequencies are set to index value\n+\n+   \"rdmsr 0x620 -f 6:0 -d\" * 100000\n+   \"rdmsr 0x620 -f 14:8\" * 100000\n+\n+\n+Test Case 4: Validate_power_uncore_exit\n+=======================================\n+\n+Step 1. Run basic l3fwd-power configuration. Doesn't matter just want to get l3fwd-power running\n+\n+   ./<build_target>/examples/dpdk-l3fwd-power -c 0x6 -n 1 -- -p 0x1 -P --config=\"(0,0,2)\" -U\n+\n+Step 2. Exit program and ensure there are no errors/ right output is recieved\n+\n+   Ctrl-C\n+   Check for line \"mode and been set back to the original\"\n+      Which should be the last line the program outputs when exiting correctly.\n+      The start of the line is omitted as it won't be known which mode/which lcore will be set\n+      back to the original.\n",
    "prefixes": [
        "v1",
        "2/2"
    ]
}