get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 126756,
    "url": "http://patches.dpdk.org/api/patches/126756/?format=api",
    "web_url": "http://patches.dpdk.org/project/dts/patch/20230508093041.656981-2-tadhg.kearney@intel.com/",
    "project": {
        "id": 3,
        "url": "http://patches.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": "<20230508093041.656981-2-tadhg.kearney@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230508093041.656981-2-tadhg.kearney@intel.com",
    "date": "2023-05-08T09:30:40",
    "name": "[v2,1/2] test_plan/power_empty_poll: remove power_empty_poll test_plan",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "0e92436e2a0236edef10a93dd0b860fa2ccf450b",
    "submitter": {
        "id": 2533,
        "url": "http://patches.dpdk.org/api/people/2533/?format=api",
        "name": "Tadhg Kearney",
        "email": "tadhg.kearney@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dts/patch/20230508093041.656981-2-tadhg.kearney@intel.com/mbox/",
    "series": [
        {
            "id": 27953,
            "url": "http://patches.dpdk.org/api/series/27953/?format=api",
            "web_url": "http://patches.dpdk.org/project/dts/list/?series=27953",
            "date": "2023-05-08T09:30:39",
            "name": "remove power_empty_poll test_plan and conf",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/27953/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/126756/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/126756/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 59E8D42A97;\n\tMon,  8 May 2023 11:30:48 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 57105411F3;\n\tMon,  8 May 2023 11:30:48 +0200 (CEST)",
            "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by mails.dpdk.org (Postfix) with ESMTP id 6DA1840685\n for <dts@dpdk.org>; Mon,  8 May 2023 11:30:46 +0200 (CEST)",
            "from orsmga005.jf.intel.com ([10.7.209.41])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 08 May 2023 02:30:45 -0700",
            "from silpixa00401183.ir.intel.com ([10.55.129.127])\n by orsmga005.jf.intel.com with ESMTP; 08 May 2023 02:30:44 -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=1683538246; x=1715074246;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=ylrYSkgBZUnWsk4I/6rz5iuP0ftFkZq6WAXH7Zd459I=;\n b=YiYzWw1L+5MCjS9C1yAK/EatfLxcRePFrSaArdHAI6fCqXFyGwtudR0n\n vmdpXw3Q8vS+6zhZA3w+ihhMf0xqoZZ9nZMh2+FIqvXQqkGvLMEZql7a2\n OsIfFfrmmpcSO4WwKAvntYbCSj/2PFWqKgheekHi1x4agghJtcS0ImB77\n gzbLrIyhfyrt0hMVSDhX4IlSh92UPEz1k8ZNSii8aqUFUWzv5U0mdMEzg\n Y5KIkfOYhPOfZ6+1FzfigOSe2yPFhaROISFEPMeg1BTWYB7gF1xk4T7xN\n kAn2Y7HD0WILgEeXlH+47BH5hNsnDOckrA9Y1w6Y7g6fbnp/Iegqsf2N4 w==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10703\"; a=\"348426536\"",
            "E=Sophos;i=\"5.99,258,1677571200\"; d=\"scan'208\";a=\"348426536\"",
            "E=McAfee;i=\"6600,9927,10703\"; a=\"872731358\"",
            "E=Sophos;i=\"5.99,258,1677571200\"; d=\"scan'208\";a=\"872731358\""
        ],
        "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 v2 1/2] test_plan/power_empty_poll: remove\n power_empty_poll test_plan",
        "Date": "Mon,  8 May 2023 09:30:40 +0000",
        "Message-Id": "<20230508093041.656981-2-tadhg.kearney@intel.com>",
        "X-Mailer": "git-send-email 2.34.1",
        "In-Reply-To": "<20230508093041.656981-1-tadhg.kearney@intel.com>",
        "References": "<20230508093041.656981-1-tadhg.kearney@intel.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=y",
        "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": "Removing test_plan index and file, power_empty_poll test has already been\nremoved.\n\nSigned-off-by: Tadhg Kearney <tadhg.kearney@intel.com>\n---\n test_plans/index.rst                      |   1 -\n test_plans/power_empty_poll_test_plan.rst | 115 ----------------------\n 2 files changed, 116 deletions(-)\n delete mode 100644 test_plans/power_empty_poll_test_plan.rst",
    "diff": "diff --git a/test_plans/index.rst b/test_plans/index.rst\nindex a0c056cd..5f81951f 100644\n--- a/test_plans/index.rst\n+++ b/test_plans/index.rst\n@@ -211,7 +211,6 @@ The following are the test plans for the DPDK DTS automated test system.\n     vm_pw_mgmt_policy_test_plan\n     power_bidirection_channel_test_plan\n     power_branch_ratio_test_plan\n-    power_empty_poll_test_plan\n     power_pbf_test_plan\n     power_pmd_test_plan\n     power_pstate_test_plan\ndiff --git a/test_plans/power_empty_poll_test_plan.rst b/test_plans/power_empty_poll_test_plan.rst\ndeleted file mode 100644\nindex 70784092..00000000\n--- a/test_plans/power_empty_poll_test_plan.rst\n+++ /dev/null\n@@ -1,115 +0,0 @@\n-.. SPDX-License-Identifier: BSD-3-Clause\n-   Copyright(c) 2010-2019 Intel Corporation\n-\n-=========================\n-Power Lib Empty Poll Test\n-=========================\n-\n-Inband Policy Control\n-=====================\n-\n-For packet processing workloads such as DPDK polling is continuous. This means\n-CPU cores always show 100% busy independent of how much work those cores are\n-doing. It is critical to accurately determine how busy a core is hugely\n-important for the following reasons:\n-\n-   * No indication of overload conditions\n-\n-   * User do not know how much real load is on a system meaning resulted in\n-     wasted energy as no power management is utilized\n-\n-Tried and failed schemes include calculating the cycles required from the load\n-on the core, in other words the busyness. For example, how many cycles it costs\n-to handle each packet and determining the frequency cost per core. Due to the\n-varying nature of traffic, types of frames and cost in cycles to process, this\n-mechanism becomes complex quickly where a simple scheme is required to solve\n-the problems.\n-\n-For all polling mechanism, the proposed solution focus on how many times empty\n-poll executed instead of calculating how many cycles it cost to handle each\n-packet. The less empty poll number means current core is busy with processing\n-workload, therefore,  the higher frequency is needed. The high empty poll\n-number indicate current core has lots spare time, therefore, we can lower the\n-frequency.\n-\n-2.1 Power state definition:\n-\n-LOW:  the frequency is used for purge mode.\n-\n-MED:  the frequency is used to process modest traffic workload.\n-\n-HIGH: the frequency is used to process busy traffic workload.\n-\n-2.2 There are two phases to establish the power management system:\n-\n-a.Initialization/Training phase. There is no traffic pass-through, the system\n-will test average empty poll numbers  with LOW/MED/HIGH  power state. Those\n-average empty poll numbers will be the baseline for the normal phase. The\n-system will collect all core's counter every 100ms. The Training phase will\n-take 5 seconds.\n-\n-b.Normal phase. When the real traffic pass-though, the system will compare\n-run-time empty poll moving average value with base line then make decision to\n-move to HIGH power state of MED  power state. The system will collect all\n-core's counter every 10ms.\n-\n-``training_flag`` : optional, enable/disable training mode. Default value is 0.\n- If the training_flag is set as 1(true), then the application will start in\n- training mode and print out the trained threshold values. If the training_flag\n- is set as 0(false), the application will start in normal mode, and will use\n- either the default thresholds or those supplied on the command line. The\n- trained threshold values are specific to the user’s system, may give a better\n- power profile when compared to the default threshold values.\n-\n-``med_threshold`` : optional, sets the empty poll threshold of a modestly busy\n-system state. If this is not supplied, the application will apply the default\n-value of 350000.\n-\n-``high_threshold`` : optional, sets the empty poll threshold of a busy system\n-state. If this is not supplied, the application will apply the default value of\n-580000.\n-\n-\n-Preparation Work for Settings\n-=============================\n-BIOS setting::\n-\n-    1. Turn on Speedstep option in BIOS\n-    2. Turn on Turbo in BIOS\n-    3. Turn off Hyper Threading\n-\n-Linux setting::\n-\n-    1. Use intel_pstate driver for CPU frequency control\n-    2. modprobe msr\n-\n-sys_min=/sys/devices/system/cpu/cpu{}/cpufreq/cpuinfo_min_freq\n-sys_max=/sys/devices/system/cpu/cpu{}/cpufreq/cpuinfo_max_freq\n-no_turbo_max=$(rdmsr -p 1 0x0CE -f 15:8 -d)00000\n-\n-cur_min=/sys/devices/system/cpu/cpu{}/cpufreq/scaling_min_freq\n-cur_max=/sys/devices/system/cpu/cpu{}/cpufreq/scaling_max_freq\n-\n-\n-Test Case1 : Basic Training mode test based on one NIC with l3fwd-power\n-=======================================================================\n-Step 1. Bind One NIC to DPDK driver, launch l3fwd-power with empty-poll enabled\n-\n-    ./<build_target>/examples/dpdk-l3fwd-power -l 1-2 -n 4 -- -p 0x1 -P --config=\"(0,0,2)\" --empty-poll=\"1,0,0\" -l 10 -m 6 -h 1\n-\n-Step 2. Check the log also when changing the inject packet rate as following:\n-\n-    Injected Rate(1024B, dst_ip=1.1.1.1): 10G -> 0.1G -> 10G -> 0.1G -> 10G ->\n-    0.1G The frequency will be set to MED when we inject 0.1G and return to HGH\n-    when inject 10G Rate, check the frequency of the forwarding core(core 2)\n-    When traffic is 10G:  cur_min=cur_max=no_turbo_max\n-    When traffic is 0.1G: cur_min=cur_max=[no_turbo_max-500000]\n-\n-\n-Test Case2: No-Training mode test based on one NIC with l3fwd-power\n-===================================================================\n-Step 1. Bind One NIC to DPDK driver, launch l3fwd-power with empty-poll enabled\n-\n-   ./<build_target>/examples/dpdk-l3fwd-power -l 1-2 -n 4  -- -p 0x1 -P --config=\"(0,0,2)\" --empty-poll=\"0,350000,500000\" -l 10 -m 6 -h 1\n-\n-Step 2. Check no training steps are executed in sample's launch log.\n",
    "prefixes": [
        "v2",
        "1/2"
    ]
}