Skip to contentSkip to conversation

PCI: ABI change request for adding new field in rte_pci_id structure

PATCH Superseded Ziye Yang 5 participants 9 messages Jan 25, 2016 – Apr 5, 2016

lore
Share & tools
lore

Ziye Yang

author
#0 lore raw

PATCH 1/1 PCI: ABI change request for adding new field in rte_pci_id structure

From: Ziye <[email protected]>

The purpose of this patch is used to add a new field "class" in rte_pci_id structure. The new class field includes class_id, subcalss_id, programming interface of a pci device. With this field, we can identify pci device by its class info, which can be more flexible instead of probing the device by vendor_id OR device_id OR subvendor_id OR subdevice_id. For example, we can probe all nvme devices by class field, which can be quite convenient.

---
 doc/guides/rel_notes/release_2_3.rst | 4 ++++
 1 file changed, 4 insertions(+)
doc/guides/rel_notes/release_2_3.rst +4 -0
index 99de186..8fcb43f 100644
@@ -39,6 +39,10 @@ API Changes
 ABI Changes
 -----------
 
+* New field ``class`` is added into ``rte_pci_id`` structure. This new
+  added ``class`` field can be used to probe pci devices by class related
+  info. With this new field, the size of structure ``rte_pci_device`` will
+  be increased.
 
 Shared Library Versions
 -----------------------
Signature · 1 line
1.9.3
author
#1 lore raw

PATCH v2 1/1 PCI: ABI change request for adding new field in rte_pci_id structure

From: Ziye <[email protected]>

The purpose of this patch is used to add a new field "class" in rte_pci_id structure. The new class field includes class_id, subcalss_id, programming interface of a pci device. With this field, we can identify pci device by its class info, which can be more flexible instead of probing the device by vendor_id OR device_id OR subvendor_id OR subdevice_id. For example, we can probe all nvme devices by class field, which can be quite convenient.

As release_2_3.rst is replaced with release_16_04.rst.

---
 doc/guides/rel_notes/release_16_04.rst | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
doc/guides/rel_notes/release_16_04.rst +4 -3
index 27fc624..fe843a5 100644
@@ -95,9 +95,10 @@ This section should contain API changes. Sample format:
 ABI Changes
 -----------
 
-* Add a short 1-2 sentence description of the ABI change that was announced in
-  the previous releases and made in this release. Use fixed width quotes for
-  ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
+* New field ``class`` is added into ``rte_pci_id`` structure. This new
+  added ``class`` field can be used to probe pci devices by class related
+  info. With this new field, the size of structure ``rte_pci_device`` will
+  be increased.
 
 
 Shared Library Versions
Signature · 1 line
1.9.3
#2 lore raw
Quoted 27 lines · Ziye Yang

From: Ziye <[email protected]>

The purpose of this patch is used to add a new field "class" in rte_pci_id structure. The new class field includes class_id, subcalss_id, programming interface of a pci device. With this field, we can identify pci device by its class info, which can be more flexible instead of probing the device by vendor_id OR device_id OR subvendor_id OR subdevice_id. For example, we can probe all nvme devices by class field, which can be quite convenient.

As release_2_3.rst is replaced with release_16_04.rst.

---
 doc/guides/rel_notes/release_16_04.rst | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)
doc/guides/rel_notes/release_16_04.rst +0 -0
index 27fc624..fe843a5 100644
@@ -95,9 +95,10 @@ This section should contain API changes. Sample format:
 ABI Changes
 -----------
 

doc/guides/rel_notes/release_16_04.rst This section should contain API changes. Sample format: · line 104

Quoted 10 lines
doc/guides/rel_notes/release_16_04.rst +4 -3
-* Add a short 1-2 sentence description of the ABI change that was announced in
-  the previous releases and made in this release. Use fixed width quotes for
-  ``rte_function_names`` or ``rte_struct_names``. Use the past tense.
+* New field ``class`` is added into ``rte_pci_id`` structure. This new
+  added ``class`` field can be used to probe pci devices by class related
+  info. With this new field, the size of structure ``rte_pci_device`` will
+  be increased.
 
 
 Shared Library Versions

Hi,

since this is new ABI change announcement, and not one that was previously announced and is now being applied, this announcement should go in the deprecation.rst file, rather than release_16_04.rst.

Thomas, is there some reason why the deprecation notices are not called out in the release notes for a new release? Why are they kept separately?

/Bruce

#3 lore raw

2016-02-16 10:11, Bruce Richardson:

Quoted 2 lines

Thomas, is there some reason why the deprecation notices are not called out in the release notes for a new release? Why are they kept separately?

No strong reason.
It is part of the release notes but not in the versioned section. Probably because there is no interest in keeping the history of planned deprecations in the release notes. When the API/ABI is changed, the deprecation notice is replaced by an entry in the versioned section.

author
#4 lore raw

PATCH v3 1/1 PCI: ABI change request for adding new field in rte_pci_id structure

In reply to Ziye Yang

From: Ziye <[email protected]>

The purpose of this patch is used to add a new field "class" in rte_pci_id structure. The new class field includes class_id, subcalss_id, programming interface of a pci device. With this field, we can identify pci device by its class info, which can be more flexible instead of probing the device by vendor_id OR device_id OR subvendor_id OR subdevice_id. For example, we can probe all nvme devices by class field, which can be quite convenient.

---
 doc/guides/rel_notes/deprecation.rst | 6 ++++++
 1 file changed, 6 insertions(+)
doc/guides/rel_notes/deprecation.rst +6 -0
index e94d4a2..9fa2433 100644
@@ -49,3 +49,9 @@ Deprecation Notices
   commands (such as RETA update in testpmd).  This should impact
   CMDLINE_PARSE_RESULT_BUFSIZE, STR_TOKEN_SIZE and RDLINE_BUF_SIZE.
   It should be integrated in release 2.3.
+
+* ABI changes are planned for struct rte_pci_id, i.e., add new field ``class``.
+  This new added ``class`` field can be used to probe pci device by class
+  related info. This change should impact size of struct rte_pci_id and struct
+  rte_pci_device. The release 16.04 does not contain these ABI changes, but
+  release 16.07 will.
Signature · 1 line
1.9.3
Acked-by on v3 1/1
#5 lore raw
Quoted 11 lines · Ziye Yang

From: Ziye <[email protected]>

The purpose of this patch is used to add a new field "class" in rte_pci_id structure. The new class field includes class_id, subcalss_id, programming interface of a pci device. With this field, we can identify pci device by its class info, which can be more flexible instead of probing the device by vendor_id OR device_id OR subvendor_id OR subdevice_id. For example, we can probe all nvme devices by class field, which can be quite convenient.

Quoted 1 line
#6 lore raw
Quoted 9 lines
Quoted 9 lines

The purpose of this patch is used to add a new field "class" in rte_pci_id structure. The new class field includes class_id, subcalss_id, programming interface of a pci device. With this field, we can identify pci device by its class info, which can be more flexible instead of probing the device by vendor_id OR device_id OR subvendor_id OR subdevice_id. For example, we can probe all nvme devices by class field, which can be quite convenient.

Quoted 5 lines
Quoted 1 line

Applied, thanks

Acked-by on v3 1/1
#7 lore raw
In reply to Ziye Yang
Quoted 21 lines

-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of Ziye Yang
Sent: Wednesday, February 17, 2016 9:55 AM
To: [email protected]
Cc: Yang, Ziye
Subject: [dpdk-dev] [PATCH v3] PCI: ABI change request for adding new field in rte_pci_id structure

From: Ziye <[email protected]>

The purpose of this patch is used to add a new field "class" in rte_pci_id structure. The new class field includes class_id, subcalss_id, programming interface of a pci device.
With this field, we can identify pci device by its class info, which can be more flexible instead of probing the device by vendor_id OR device_id OR subvendor_id OR subdevice_id.
For example, we can probe all nvme devices by class field, which can be quite convenient.

Quoted 1 line
Acked-by on v3 1/1
#8 lore raw
In reply to Ziye Yang
Quoted 21 lines

-----Original Message-----
From: dev [mailto:[email protected]] On Behalf Of Ziye Yang
Sent: Wednesday, February 17, 2016 9:55 AM
To: [email protected]
Cc: Yang, Ziye
Subject: [dpdk-dev] [PATCH v3] PCI: ABI change request for adding new field in rte_pci_id structure

From: Ziye <[email protected]>

The purpose of this patch is used to add a new field "class" in rte_pci_id structure. The new class field includes class_id, subcalss_id, programming interface of a pci device. With this field, we can identify pci device by its class info, which can be more flexible instead of probing the device by vendor_id OR device_id OR subvendor_id OR subdevice_id. For example, we can probe all nvme devices by class field, which can be quite convenient.

Quoted 1 line

It's better to use "doc:" as subject prefix, the others are good to go.