diff for duplicates of <1472850905.2946.20.camel@linux.intel.com> diff --git a/a/1.txt b/N1/1.txt index 02a1f8d..ae57cc0 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,12 +1,12 @@ -On Tue, 2016-08-30@14:59 -0700, Andy Lutomirski wrote: -> NVME devices can advertise multiple power states.??These states can +On Tue, 2016-08-30 at 14:59 -0700, Andy Lutomirski wrote: +> NVME devices can advertise multiple power states. These states can > be either "operational" (the device is fully functional but possibly > slow) or "non-operational" (the device is asleep until woken up). > Some devices can automatically enter a non-operational state when > idle for a specified amount of time and then automatically wake back > up when needed. > -> The hardware configuration is a table.??For each state, an entry in +> The hardware configuration is a table. For each state, an entry in > the table indicates the next deeper non-operational state, if any, > to autonomously transition to and the idle time required before > transitioning. @@ -14,48 +14,48 @@ On Tue, 2016-08-30@14:59 -0700, Andy Lutomirski wrote: > This patch teaches the driver to program APST so that each > successive non-operational state will be entered after an idle time > equal to 100% of the total latency (entry plus exit) associated with -> that state.??A sysfs attribute 'apst_max_latency_us' gives the +> that state. A sysfs attribute 'apst_max_latency_us' gives the > maximum acceptable latency in ns; non-operational states with total -> latency greater than this value will not be used.??As a special +> latency greater than this value will not be used. As a special > case, apst_max_latency_us=0 will disable APST entirely. May I ask a dumb question? -How does this work with multiple NVMe devices plugged into a system? ?I -would have thought we'd want one?apst_max_latency_us entry per NVMe -controller for individual control of each device? ?I have two +How does this work with multiple NVMe devices plugged into a system? I +would have thought we'd want one apst_max_latency_us entry per NVMe +controller for individual control of each device? I have two Fultondale-class devices plugged into a system I tried these patches on (the 4.8-rc4 kernel) and I'm not sure how the single /sys/module/nvme_core/parameters/apst_max_latency_us would work per my 2 devices (and the value is using the default 25000). -Now from? +Now from nvme id-ctrl /dev/nvme0 (or nvme1) NVME Identify Controller: -vid?????: 0x8086 -ssvid???: 0x8086 -sn??????: CVFT41720018800HGN?? -mn??????: INTEL SSDPE2MD800G4????????????????????? -fr??????: 8DV10151 -rab?????: 0 -ieee????: 5cd2e4 -cmic????: 0 -mdts????: 5 -cntlid??: 0 -ver?????: 0 -rtd3r???: 0 -rtd3e???: 0 -oaes????: 0 -oacs????: 0x6 -acl?????: 3 -aerl????: 3 -frmw????: 0x2 -lpa?????: 0x2 -elpe????: 63 -npss????: 0 -avscc???: 0 -apsta???: 0 <----- +vid : 0x8086 +ssvid : 0x8086 +sn : CVFT41720018800HGN +mn : INTEL SSDPE2MD800G4 +fr : 8DV10151 +rab : 0 +ieee : 5cd2e4 +cmic : 0 +mdts : 5 +cntlid : 0 +ver : 0 +rtd3r : 0 +rtd3e : 0 +oaes : 0 +oacs : 0x6 +acl : 3 +aerl : 3 +frmw : 0x2 +lpa : 0x2 +elpe : 63 +npss : 0 +avscc : 0 +apsta : 0 <----- the Fultondales don't support apst. @@ -68,16 +68,16 @@ But I'd still like to ask the dumb question :-). Not sure that is true, as from what I see so far, Fultondales don't support apst yet I still see: -[root at nvme-fabric-host01 nvme-cli]# cat +[root@nvme-fabric-host01 nvme-cli]# cat /sys/module/nvme_core/parameters/apst_max_latency_us 25000 > > In theory, the device can expose "default" APST table, but this > doesn't seem to function correctly on my device (Samsung 950), nor -> does it seem particularly useful.??There is also an optional +> does it seem particularly useful. There is also an optional > mechanism by which a configuration can be "saved" so it will be -> automatically loaded on reset.??This can be configured from +> automatically loaded on reset. This can be configured from > userspace, but it doesn't seem useful to support in the driver. > > On my laptop, enabling APST seems to save nearly 1W. @@ -91,7 +91,7 @@ nvme get-feature -f 0x0c -H /dev/nvme0 isn't working for me, I get a: -[root at nvme-fabric-host01 nvme-cli]# ./nvme get-feature -f 0x0c -H +[root@nvme-fabric-host01 nvme-cli]# ./nvme get-feature -f 0x0c -H /dev/nvme0 NVMe Status:INVALID_FIELD(2) diff --git a/a/content_digest b/N1/content_digest index 83b514c..065f117 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,19 +1,25 @@ "ref\0cover.1472594203.git.luto@kernel.org\0" "ref\06e6c3cd47858160bf8e34f2edb481c0ef5092d5b.1472594203.git.luto@kernel.org\0" - "From\0james_p_freyensee@linux.intel.com (J Freyensee)\0" - "Subject\0[PATCH v2 3/3] nvme: Enable autonomous power state transitions\0" + "From\0J Freyensee <james_p_freyensee@linux.intel.com>\0" + "Subject\0Re: [PATCH v2 3/3] nvme: Enable autonomous power state transitions\0" "Date\0Fri, 02 Sep 2016 14:15:05 -0700\0" + "To\0Andy Lutomirski <luto@kernel.org>" + Keith Busch <keith.busch@intel.com> + " Jens Axboe <axboe@fb.com>\0" + "Cc\0Christoph Hellwig <hch@lst.de>" + linux-nvme@lists.infradead.org + " linux-kernel@vger.kernel.org\0" "\00:1\0" "b\0" - "On Tue, 2016-08-30@14:59 -0700, Andy Lutomirski wrote:\n" - "> NVME devices can advertise multiple power states.??These states can\n" + "On Tue, 2016-08-30 at 14:59 -0700, Andy Lutomirski wrote:\n" + "> NVME devices can advertise multiple power states.\302\240\302\240These states can\n" "> be either \"operational\" (the device is fully functional but possibly\n" "> slow) or \"non-operational\" (the device is asleep until woken up).\n" "> Some devices can automatically enter a non-operational state when\n" "> idle for a specified amount of time and then automatically wake back\n" "> up when needed.\n" "> \n" - "> The hardware configuration is a table.??For each state, an entry in\n" + "> The hardware configuration is a table.\302\240\302\240For each state, an entry in\n" "> the table indicates the next deeper non-operational state, if any,\n" "> to autonomously transition to and the idle time required before\n" "> transitioning.\n" @@ -21,48 +27,48 @@ "> This patch teaches the driver to program APST so that each\n" "> successive non-operational state will be entered after an idle time\n" "> equal to 100% of the total latency (entry plus exit) associated with\n" - "> that state.??A sysfs attribute 'apst_max_latency_us' gives the\n" + "> that state.\302\240\302\240A sysfs attribute 'apst_max_latency_us' gives the\n" "> maximum acceptable latency in ns; non-operational states with total\n" - "> latency greater than this value will not be used.??As a special\n" + "> latency greater than this value will not be used.\302\240\302\240As a special\n" "> case, apst_max_latency_us=0 will disable APST entirely.\n" "\n" "May I ask a dumb question?\n" "\n" - "How does this work with multiple NVMe devices plugged into a system? ?I\n" - "would have thought we'd want one?apst_max_latency_us entry per NVMe\n" - "controller for individual control of each device? ?I have two\n" + "How does this work with multiple NVMe devices plugged into a system? \302\240I\n" + "would have thought we'd want one\302\240apst_max_latency_us entry per NVMe\n" + "controller for individual control of each device? \302\240I have two\n" "Fultondale-class devices plugged into a system I tried these patches on\n" "(the 4.8-rc4 kernel) and I'm not sure how the single\n" "/sys/module/nvme_core/parameters/apst_max_latency_us would work per my\n" "2 devices (and the value is using the default 25000).\n" "\n" - "Now from?\n" + "Now from\302\240\n" "nvme id-ctrl /dev/nvme0 (or nvme1)\n" "\n" "NVME Identify Controller:\n" - "vid?????: 0x8086\n" - "ssvid???: 0x8086\n" - "sn??????: CVFT41720018800HGN??\n" - "mn??????: INTEL SSDPE2MD800G4?????????????????????\n" - "fr??????: 8DV10151\n" - "rab?????: 0\n" - "ieee????: 5cd2e4\n" - "cmic????: 0\n" - "mdts????: 5\n" - "cntlid??: 0\n" - "ver?????: 0\n" - "rtd3r???: 0\n" - "rtd3e???: 0\n" - "oaes????: 0\n" - "oacs????: 0x6\n" - "acl?????: 3\n" - "aerl????: 3\n" - "frmw????: 0x2\n" - "lpa?????: 0x2\n" - "elpe????: 63\n" - "npss????: 0\n" - "avscc???: 0\n" - "apsta???: 0 <-----\n" + "vid\302\240\302\240\302\240\302\240\302\240: 0x8086\n" + "ssvid\302\240\302\240\302\240: 0x8086\n" + "sn\302\240\302\240\302\240\302\240\302\240\302\240: CVFT41720018800HGN\302\240\302\240\n" + "mn\302\240\302\240\302\240\302\240\302\240\302\240: INTEL SSDPE2MD800G4\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\n" + "fr\302\240\302\240\302\240\302\240\302\240\302\240: 8DV10151\n" + "rab\302\240\302\240\302\240\302\240\302\240: 0\n" + "ieee\302\240\302\240\302\240\302\240: 5cd2e4\n" + "cmic\302\240\302\240\302\240\302\240: 0\n" + "mdts\302\240\302\240\302\240\302\240: 5\n" + "cntlid\302\240\302\240: 0\n" + "ver\302\240\302\240\302\240\302\240\302\240: 0\n" + "rtd3r\302\240\302\240\302\240: 0\n" + "rtd3e\302\240\302\240\302\240: 0\n" + "oaes\302\240\302\240\302\240\302\240: 0\n" + "oacs\302\240\302\240\302\240\302\240: 0x6\n" + "acl\302\240\302\240\302\240\302\240\302\240: 3\n" + "aerl\302\240\302\240\302\240\302\240: 3\n" + "frmw\302\240\302\240\302\240\302\240: 0x2\n" + "lpa\302\240\302\240\302\240\302\240\302\240: 0x2\n" + "elpe\302\240\302\240\302\240\302\240: 63\n" + "npss\302\240\302\240\302\240\302\240: 0\n" + "avscc\302\240\302\240\302\240: 0\n" + "apsta\302\240\302\240\302\240: 0 <-----\n" "\n" "the Fultondales don't support apst.\n" "\n" @@ -75,16 +81,16 @@ "Not sure that is true, as from what I see so far, Fultondales don't\n" "support apst yet I still see:\n" "\n" - "[root at nvme-fabric-host01 nvme-cli]# cat\n" + "[root@nvme-fabric-host01 nvme-cli]# cat\n" "/sys/module/nvme_core/parameters/apst_max_latency_us\n" "25000\n" "\n" "> \n" "> In theory, the device can expose \"default\" APST table, but this\n" "> doesn't seem to function correctly on my device (Samsung 950), nor\n" - "> does it seem particularly useful.??There is also an optional\n" + "> does it seem particularly useful.\302\240\302\240There is also an optional\n" "> mechanism by which a configuration can be \"saved\" so it will be\n" - "> automatically loaded on reset.??This can be configured from\n" + "> automatically loaded on reset.\302\240\302\240This can be configured from\n" "> userspace, but it doesn't seem useful to support in the driver.\n" "> \n" "> On my laptop, enabling APST seems to save nearly 1W.\n" @@ -98,7 +104,7 @@ "\n" "isn't working for me, I get a:\n" "\n" - "[root at nvme-fabric-host01 nvme-cli]# ./nvme get-feature -f 0x0c -H\n" + "[root@nvme-fabric-host01 nvme-cli]# ./nvme get-feature -f 0x0c -H\n" "/dev/nvme0\n" "NVMe Status:INVALID_FIELD(2)\n" "\n" @@ -109,4 +115,4 @@ "\n" Jay -e9e9e176197d50188d52387b761621e05188dcc501b2d86299cac6a02f6f4fb6 +98a75803dae010749f8bf9d87bcede067f4b7325b1b814a084a2e8950ad8e36f
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.