[v2,2/2] doc: update according to the fifo per core impl

Message ID 20190412135431.3308-3-lukaszx.gosiewski@intel.com
State Superseded
Headers show
  • power: add fifo per core for JSON interface
Related show


Context Check Description
ci/Intel-compilation success Compilation OK
ci/checkpatch success coding style OK

Commit Message

Lukasz Gosiewski April 12, 2019, 1:54 p.m.
From: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>

Updated power management docs for fifo JSON API.
Removed from JSON API:
* 'name'
* 'resource_id'
* 'core_list'

Signed-off-by: Lukasz Krakowiak <lukaszx.krakowiak@intel.com>
Signed-off-by: Lukasz Gosiewski <lukaszx.gosiewski@intel.com>
 .../sample_app_ug/vm_power_management.rst     | 53 ++++---------------
 1 file changed, 11 insertions(+), 42 deletions(-)


diff --git a/doc/guides/sample_app_ug/vm_power_management.rst b/doc/guides/sample_app_ug/vm_power_management.rst
index 14d432e78..7b2c78ffc 100644
--- a/doc/guides/sample_app_ug/vm_power_management.rst
+++ b/doc/guides/sample_app_ug/vm_power_management.rst
@@ -380,9 +380,16 @@  parsing functionality will not be present in the app.
 Sending a command or policy to the power manager application is achieved by
 simply opening a fifo file, writing a JSON string to that fifo, and closing
-the file.
+the file. In actual implementation every core has own dedicated fifo[0..n],
+where n is number of the last available core.
+Having a dedicated fifo file per core allows using standard filesystem permissions
+to ensure a given container can only write JSON commands into fifos it is allowed
+to use.
-The fifo is at /tmp/powermonitor/fifo
+The fifo is at /tmp/powermonitor/fifo[0..n]
+For example all cmds put to the /tmp/powermonitor/fifo7, will have
+effect only on CPU[7].
 The jason string can be a policy or instruction, and takes the following
@@ -405,19 +412,6 @@  arrays, etc. Examples of policies follow later in this document. The allowed
 names and value types are as follows:
-:Pair Name: "name"
-:Description: Name of the VM or Host. Allows the parser to associate the
-  policy with the relevant VM or Host OS.
-:Type: string
-:Values: any valid string
-:Required: yes
-    .. code-block:: javascript
-      "name", "ubuntu2"
 :Pair Name: "command"
 :Description: The type of packet we're sending to the power manager. We can be
   creating or destroying a policy, or sending a direct command to adjust
@@ -509,17 +503,6 @@  names and value types are as follows:
     "max_packet_thresh": 500000
-:Pair Name: "core_list"
-:Description: The cores to which to apply the policy.
-:Type: array of integers
-:Values: array with list of virtual CPUs.
-:Required: only policy CREATE/DESTROY
-  .. code-block:: javascript
-    "core_list":[ 10, 11 ]
 :Pair Name: "workload"
 :Description: When our policy is of type WORKLOAD, we need to specify how
   heavy our workload is.
@@ -566,17 +549,6 @@  names and value types are as follows:
     "unit", "SCALE_MAX"
-:Pair Name: "resource_id"
-:Description: The core to which to apply the power command.
-:Type: integer
-:Values: valid core id for VM or host OS.
-:Required: only POWER instruction
-  .. code-block:: javascript
-    "resource_id": 10
 JSON API Examples
@@ -598,7 +570,6 @@  Profile destroy example:
   .. code-block:: javascript
     {"profile": {
-      "name": "ubuntu",
       "command": "destroy",
@@ -607,17 +578,15 @@  Power command example:
   .. code-block:: javascript
     {"command": {
-      "name": "ubuntu",
       "unit": "SCALE_MAX",
-      "resource_id": 10
 To send a JSON string to the Power Manager application, simply paste the
-example JSON string into a text file and cat it into the fifo:
+example JSON string into a text file and cat it into the proper fifo:
   .. code-block:: console
-    cat file.json >/tmp/powermonitor/fifo
+    cat file.json >/tmp/powermonitor/fifo[0..n]
 The console of the Power Manager application should indicate the command that
 was just received via the fifo.