doc: announce removal of ABIs in PCI bus driver
PATCH 1/1 doc: announce removal of ABIs in PCI bus driver
All ABIs in PCI bus driver, which are defined in rte_buc_pci.h, will be removed and the header will be made internal.
--- doc/guides/rel_notes/deprecation.rst | 5 +++++ 1 file changed, 5 insertions(+)
doc/guides/rel_notes/deprecation.rst +5 -0
@@ -147,3 +147,8 @@ Deprecation Notices * cmdline: ``cmdline`` structure will be made opaque to hide platform-specific content. On Linux and FreeBSD, supported prior to DPDK 20.11, original structure will be kept until DPDK 21.11. + +* pci: To reduce unnecessary ABIs exposed by DPDK bus driver, "rte_bus_pci.h" + will be made internal in 21.11 and macros/data structures/functions defined + in the header will not be considered as ABI anymore. This change is inspired + by the RFC https://patchwork.dpdk.org/project/dpdk/list/?series=17176.
Signature · 1 line
2.17.1
Hi,
A gentle ping for comments..
Quoted 29 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Chenbo Xia
Sent: Tuesday, June 1, 2021 4:42 PM
To: [email protected]; [email protected]
Cc: [email protected]; [email protected]
Subject: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI bus driverAll ABIs in PCI bus driver, which are defined in
rte_buc_pci.h, will be removed and the header will be made internal.Signed-off-by Chenbo Xia <[email protected]>--- doc/guides/rel_notes/deprecation.rst | 5 +++++ 1 file changed, 5 insertions(+)doc/guides/rel_notes/deprecation.rst +0
-0@@ -147,3 +147,8 @@ Deprecation Notices * cmdline: ``cmdline`` structure will be made opaque to hide platform-specific
content. On Linux and FreeBSD, supported prior to DPDK 20.11, original structure will be kept until DPDK 21.11.doc/guides/rel_notes/deprecation.rst +4
-0+ +* pci: To reduce unnecessary ABIs exposed by DPDK bus driver, "rte_bus_pci.h" + will be made internal in 21.11 and macros/data structures/functions defined + in the header will not be considered as ABI anymore. This change is
Quoted 2 lines
inspired
+ by the RFC https://patchwork.dpdk.org/project/dpdk/list/?series=17176.
I see there's some ABI improvement work on-going and I think it could be part of the work. If it makes sense to you, I'd like some ACKs.
Thanks,
Chenbo
Quoted 2 lines
--
2.17.1
Ferruh Yigit
Acked-byQuoted 30 lines · Chenbo
Hi,
A gentle ping for comments..
Quoted 26 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Chenbo Xia
Sent: Tuesday, June 1, 2021 4:42 PM
To: [email protected]; [email protected]
Cc: [email protected]; [email protected]
Subject: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI bus driverAll ABIs in PCI bus driver, which are defined in
rte_buc_pci.h, will be removed and the header will be made internal.Signed-off-by Chenbo Xia <[email protected]>--- doc/guides/rel_notes/deprecation.rst | 5 +++++ 1 file changed, 5 insertions(+)doc/guides/rel_notes/deprecation.rst +0
-0@@ -147,3 +147,8 @@ Deprecation Notices * cmdline: ``cmdline`` structure will be made opaque to hide platform-specific
content. On Linux and FreeBSD, supported prior to DPDK 20.11, original structure will be kept until DPDK 21.11.
+
Quoted 9 lines
Quoted 5 lines
doc/guides/rel_notes/deprecation.rst +3
-0+* pci: To reduce unnecessary ABIs exposed by DPDK bus driver, "rte_bus_pci.h" + will be made internal in 21.11 and macros/data structures/functions defined + in the header will not be considered as ABI anymore. This change isinspired
+ by the RFC https://patchwork.dpdk.org/project/dpdk/list/?series=17176.I see there's some ABI improvement work on-going and I think it could be part of the work. If it makes sense to you, I'd like some ACKs.
I am for reducing the public ABI as much as possible. How big will the change be? Is the 'rte_bus_pci.h' used other than './drivers/bus/pci/'?
Hi, Ferruh
Quoted 51 lines
-----Original Message-----
From: Yigit, Ferruh <[email protected]>
Sent: Friday, July 23, 2021 8:47 PM
To: Xia, Chenbo <[email protected]>; [email protected]; [email protected]
Cc: [email protected]; [email protected]; [email protected]
Subject: Re: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI bus driverQuoted 10 lines · Chenbo
Hi,
A gentle ping for comments..
Quoted 6 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Chenbo Xia
Sent: Tuesday, June 1, 2021 4:42 PM
To: [email protected]; [email protected]
Cc: [email protected]; [email protected]
Subject: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI busdriver
Quoted 9 lines
Quoted 9 lines
All ABIs in PCI bus driver, which are defined in
rte_buc_pci.h, will be removed and the header will be made internal.Signed-off-by Chenbo Xia <[email protected]>--- doc/guides/rel_notes/deprecation.rst | 5 +++++ 1 file changed, 5 insertions(+)Quoted 12 lines
doc/guides/rel_notes/deprecation.rst
Quoted 12 lines
doc/guides/rel_notes/deprecation.rst +0
-0@@ -147,3 +147,8 @@ Deprecation Notices * cmdline: ``cmdline`` structure will be made opaque to hide platform-specific
content. On Linux and FreeBSD, supported prior to DPDK 20.11, original structure will be kept until DPDK 21.11.doc/guides/rel_notes/deprecation.rst +2
-0+ +* pci: To reduce unnecessary ABIs exposed by DPDK bus driver,"
rte_bus_pci.h"Quoted 1 line
Quoted 1 line
+ will be made internal in 21.11 and macros/data structures/functions
defined
Quoted 3 lines
Quoted 3 lines
+ in the header will not be considered as ABI anymore. This change is inspired
+ by the RFChttps://patchwork.dpdk.org/project/dpdk/list/?series=17176.
Quoted 2 lines
I see there's some ABI improvement work on-going and I think it could be
part of
Quoted 8 lines
Quoted 2 lines
the work. If it makes sense to you, I'd like some ACKs.
Acked-by Ferruh Yigit <[email protected]>I am for reducing the public ABI as much as possible. How big will the change
be? Is the 'rte_bus_pci.h' used other than './drivers/bus/pci/'?
I don't see big change here. And I am not sure if I understand your second question. The rte_bus_pci.h will still be used by drivers (maybe remove the rte prefix and change the file name).
Thanks,
Chenbo
Bruce Richardson
Acked-byQuoted 58 lines · Chenbo
Hi, Ferruh
Quoted 56 lines
-----Original Message-----
From: Yigit, Ferruh <[email protected]>
Sent: Friday, July 23, 2021 8:47 PM
To: Xia, Chenbo <[email protected]>; [email protected]; [email protected]
Cc: [email protected]; [email protected]; [email protected]
Subject: Re: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI bus driverQuoted 10 lines · Chenbo
Hi,
A gentle ping for comments..
Quoted 6 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Chenbo Xia
Sent: Tuesday, June 1, 2021 4:42 PM
To: [email protected]; [email protected]
Cc: [email protected]; [email protected]
Subject: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI busdriver
Quoted 9 lines
Quoted 9 lines
All ABIs in PCI bus driver, which are defined in
rte_buc_pci.h, will be removed and the header will be made internal.Signed-off-by Chenbo Xia <[email protected]>--- doc/guides/rel_notes/deprecation.rst | 5 +++++ 1 file changed, 5 insertions(+)Quoted 12 lines
doc/guides/rel_notes/deprecation.rst
Quoted 12 lines
doc/guides/rel_notes/deprecation.rst +0
-0@@ -147,3 +147,8 @@ Deprecation Notices * cmdline: ``cmdline`` structure will be made opaque to hide platform-specific
content. On Linux and FreeBSD, supported prior to DPDK 20.11, original structure will be kept until DPDK 21.11.doc/guides/rel_notes/deprecation.rst +2
-0+ +* pci: To reduce unnecessary ABIs exposed by DPDK bus driver,"
rte_bus_pci.h"Quoted 1 line
Quoted 1 line
+ will be made internal in 21.11 and macros/data structures/functions
defined
Quoted 3 lines
Quoted 3 lines
+ in the header will not be considered as ABI anymore. This change is inspired
+ by the RFChttps://patchwork.dpdk.org/project/dpdk/list/?series=17176.
Quoted 2 lines
I see there's some ABI improvement work on-going and I think it could be
part of
Quoted 2 lines
the work. If it makes sense to you, I'd like some ACKs.
Acked-by Ferruh Yigit <[email protected]>
Quoted 8 lines
Quoted 3 lines
I am for reducing the public ABI as much as possible. How big will the change
be? Is the 'rte_bus_pci.h' used other than './drivers/bus/pci/'?I don't see big change here. And I am not sure if I understand your second question. The
rte_bus_pci.hwill still be used by drivers (maybe remove the rte prefix and change the file name).
The file itself will still be exported in some cases, where the end-user has their own drivers which need to be compiled, so I'd recommend keeping the rte_ prefix. However, I think making all bus APIs internal-only to DPDK is a good idea.
Andrew Rybchenko
Acked-byQuoted 67 lines · Bruce Richardson
Quoted 58 lines · Chenbo
Hi, Ferruh
Quoted 56 lines
-----Original Message-----
From: Yigit, Ferruh <[email protected]>
Sent: Friday, July 23, 2021 8:47 PM
To: Xia, Chenbo <[email protected]>; [email protected]; [email protected]
Cc: [email protected]; [email protected]; [email protected]
Subject: Re: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI bus driverQuoted 10 lines · Chenbo
Hi,
A gentle ping for comments..
Quoted 6 lines
-----Original Message-----
From: dev <[email protected]> On Behalf Of Chenbo Xia
Sent: Tuesday, June 1, 2021 4:42 PM
To: [email protected]; [email protected]
Cc: [email protected]; [email protected]
Subject: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI busdriver
Quoted 9 lines
Quoted 9 lines
All ABIs in PCI bus driver, which are defined in
rte_buc_pci.h, will be removed and the header will be made internal.Signed-off-by Chenbo Xia <[email protected]>--- doc/guides/rel_notes/deprecation.rst | 5 +++++ 1 file changed, 5 insertions(+)Quoted 12 lines
doc/guides/rel_notes/deprecation.rst
Quoted 12 lines
doc/guides/rel_notes/deprecation.rst +0
-0@@ -147,3 +147,8 @@ Deprecation Notices * cmdline: ``cmdline`` structure will be made opaque to hide platform-specific
content. On Linux and FreeBSD, supported prior to DPDK 20.11, original structure will be kept until DPDK 21.11.doc/guides/rel_notes/deprecation.rst +2
-0+ +* pci: To reduce unnecessary ABIs exposed by DPDK bus driver,"
rte_bus_pci.h"Quoted 1 line
Quoted 1 line
+ will be made internal in 21.11 and macros/data structures/functions
defined
Quoted 3 lines
Quoted 3 lines
+ in the header will not be considered as ABI anymore. This change is inspired
+ by the RFChttps://patchwork.dpdk.org/project/dpdk/list/?series=17176.
Quoted 2 lines
I see there's some ABI improvement work on-going and I think it could be
part of
Quoted 2 lines
the work. If it makes sense to you, I'd like some ACKs.
Acked-by Ferruh Yigit <[email protected]>Quoted 8 lines
Quoted 3 lines
I am for reducing the public ABI as much as possible. How big will the change
be? Is the 'rte_bus_pci.h' used other than './drivers/bus/pci/'?I don't see big change here. And I am not sure if I understand your second question. The
rte_bus_pci.hwill still be used by drivers (maybe remove the rte prefix and change the file name).
Quoted 7 lines
The file itself will still be exported in some cases, where the end-user has their own drivers which need to be compiled, so I'd recommend keeping the
rte_prefix. However, I think making all bus APIs internal-only to DPDK is a good idea.Acked-by Bruce Richardson <[email protected]>
Thomas Monjalon
Applied27/07/2021 10:44, Bruce Richardson:
Quoted 24 lines · Chenbo
Quoted 23 lines
From: Yigit, Ferruh <[email protected]>
Quoted 21 lines · Chenbo
Quoted 2 lines
From: dev <[email protected]> On Behalf Of Chenbo Xia
Quoted 1 line
+* pci: To reduce unnecessary ABIs exposed by DPDK bus driver,
"
rte_bus_pci.h"Quoted 1 line
Quoted 1 line
+ will be made internal in 21.11 and macros/data structures/functions
defined
Quoted 3 lines
Quoted 3 lines
+ in the header will not be considered as ABI anymore. This change is inspired
+ by the RFChttps://patchwork.dpdk.org/project/dpdk/list/?series=17176.
Quoted 2 lines
I see there's some ABI improvement work on-going and I think it could be
part of
Quoted 2 lines
the work. If it makes sense to you, I'd like some ACKs.
Acked-by Ferruh Yigit <[email protected]>I am for reducing the public ABI as much as possible. How big will the change
be? Is the 'rte_bus_pci.h' used other than './drivers/bus/pci/'?
Quoted 8 lines
Quoted 4 lines
I don't see big change here. And I am not sure if I understand your second question. The
rte_bus_pci.hwill still be used by drivers (maybe remove the rte prefix and change the file name).The file itself will still be exported in some cases, where the end-user has their own drivers which need to be compiled, so I'd recommend keeping the
rte_prefix. However, I think making all bus APIs internal-only to DPDK is a good idea.
I don't understand how it can exported _and_ internal.
And about the rte_ prefix, it should be kept even if it used only in internal drivers because it prevent from namespace clash with other libraries included by the drivers.
As a rule we should always have rte_ prefix for each symbol used outside of its own library.
That said I am OK with the direction of hiding PCI bus API.
Applied, thanks.
Hi Thomas,
Quoted 42 lines
-----Original Message-----
From: Thomas Monjalon <[email protected]>
Sent: Sunday, August 1, 2021 4:44 AM
To: Xia, Chenbo <[email protected]>
Cc: [email protected]; Yigit, Ferruh <[email protected]>; [email protected]; [email protected]; [email protected]; Richardson, Bruce <[email protected]>; [email protected]; Ananyev, Konstantin <[email protected]>
Subject: Re: [dpdk-dev] [PATCH] doc: announce removal of ABIs in PCI bus driver27/07/2021 10:44, Bruce Richardson:
Quoted 7 lines · Chenbo
Quoted 6 lines
From: Yigit, Ferruh <[email protected]>
Quoted 5 lines · Chenbo
Quoted 2 lines
From: dev <[email protected]> On Behalf Of Chenbo Xia
Quoted 1 line
+* pci: To reduce unnecessary ABIs exposed by DPDK bus driver,
"
rte_bus_pci.h"Quoted 1 line
Quoted 1 line
+ will be made internal in 21.11 and macros/data
structures/functions
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
defined
Quoted 1 line
Quoted 1 line
+ in the header will not be considered as ABI anymore. This change
is
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines
Quoted 2 lines
inspired
+ by the RFChttps://patchwork.dpdk.org/project/dpdk/list/?series=17176.
Quoted 2 lines
I see there's some ABI improvement work on-going and I think it could
be
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
part of
Quoted 2 lines
the work. If it makes sense to you, I'd like some ACKs.
Quoted 8 lines
Quoted 8 lines
Quoted 5 lines
Acked-by Ferruh Yigit <[email protected]>I am for reducing the public ABI as much as possible. How big will the change
be? Is the 'rte_bus_pci.h' used other than './drivers/bus/pci/'?I don't see big change here. And I am not sure if I understand your second question. The
rte_bus_pci.hwill still be used by drivers (maybe removethe
Quoted 8 lines
Quoted 6 lines
Quoted 2 lines
rte prefix and change the file name).
The file itself will still be exported in some cases, where the end-user has their own drivers which need to be compiled, so I'd recommend keeping the
rte_prefix. However, I think making all bus APIs internal-only to DPDK is a good idea.I don't understand how it can exported _and_ internal.
I think we can use the meson option 'enable_driver_sdk'. The first use case is in lib ethdev for exporting internal APIs for out-of-tree drivers. For pci bus, I think the use case is similar: users who want to build out-of-tree drivers can set the option true to export pci header but the structs/functions are marked internal. Make sense to you?
Thanks,
Chenbo
Quoted 11 lines
And about the
rte_prefix, it should be kept even if it used only in internal drivers because it prevent from namespace clash with other libraries included by the drivers.
As a rule we should always haverte_prefix for each symbol used outside of its own library.That said I am OK with the direction of hiding PCI bus API.
Applied, thanks.
03/08/2021 03:52, Xia, Chenbo:
Quoted 41 lines
Hi Thomas,
From: Thomas Monjalon <[email protected]>
Quoted 38 lines
27/07/2021 10:44, Bruce Richardson:
Quoted 7 lines · Chenbo
Quoted 6 lines
From: Yigit, Ferruh <[email protected]>
Quoted 5 lines · Chenbo
Quoted 2 lines
From: dev <[email protected]> On Behalf Of Chenbo Xia
Quoted 1 line
+* pci: To reduce unnecessary ABIs exposed by DPDK bus driver,
"
rte_bus_pci.h"Quoted 1 line
Quoted 1 line
+ will be made internal in 21.11 and macros/data
structures/functions
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
defined
Quoted 1 line
Quoted 1 line
+ in the header will not be considered as ABI anymore. This change
is
Quoted 5 lines
Quoted 5 lines
Quoted 5 lines
Quoted 2 lines
Quoted 2 lines
inspired
+ by the RFChttps://patchwork.dpdk.org/project/dpdk/list/?series=17176.
Quoted 2 lines
I see there's some ABI improvement work on-going and I think it could
be
Quoted 4 lines
Quoted 4 lines
Quoted 4 lines
part of
Quoted 2 lines
the work. If it makes sense to you, I'd like some ACKs.
Quoted 8 lines
Quoted 8 lines
Quoted 5 lines
Acked-by Ferruh Yigit <[email protected]>I am for reducing the public ABI as much as possible. How big will the change
be? Is the 'rte_bus_pci.h' used other than './drivers/bus/pci/'?I don't see big change here. And I am not sure if I understand your second question. The
rte_bus_pci.hwill still be used by drivers (maybe removethe
Quoted 6 lines
Quoted 2 lines
rte prefix and change the file name).
The file itself will still be exported in some cases, where the end-user has their own drivers which need to be compiled, so I'd recommend keeping the
rte_prefix. However, I think making all bus APIs internal-only to DPDK is a good idea.
Quoted 7 lines
Quoted 1 line
I don't understand how it can exported _and_ internal.
I think we can use the meson option '
enable_driver_sdk'. The first use case is in lib ethdev for exporting internal APIs for out-of-tree drivers. For pci bus, I think the use case is similar: users who want to build out-of-tree drivers can set the option true to export pci header but the structs/functions are marked internal. Make sense to you?
I understand the intent.
You are saying an out-of-tree driver is considered internal. Let's see how it works for real.
Quoted 14 lines
All ABIs in PCI bus driver, which are defined in
rte_buc_pci.h, will be removed and the header will be made internal.Signed-off-by Chenbo Xia <[email protected]>--- doc/guides/rel_notes/deprecation.rst | 5 +++++ 1 file changed, 5 insertions(+)doc/guides/rel_notes/deprecation.rst +0
-0
doc/guides/rel_notes/deprecation.rst Deprecation Notices
Quoted 9 lines
doc/guides/rel_notes/deprecation.rst +5
-1@@ -147,3 +147,8 @@ Deprecation Notices * cmdline: ``cmdline`` structure will be made opaque to hide platform-specific content. On Linux and FreeBSD, supported prior to DPDK 20.11, original structure will be kept until DPDK 21.11. + +* pci: To reduce unnecessary ABIs exposed by DPDK bus driver, "rte_bus_pci.h" + will be made internal in 21.11 and macros/data structures/functions defined + in the header will not be considered as ABI anymore. This change is inspired + by the RFC https://patchwork.dpdk.org/project/dpdk/list/?series=17176. --
Quoted 1 line
2.17.1