diff mbox

[v4,27/27] IB/Verbs: Cleanup rdma_node_get_transport()

Message ID 552F6FB4.3060903@profitbricks.com (mailing list archive)
State Rejected
Headers show

Commit Message

Michael Wang April 16, 2015, 8:15 a.m. UTC
We have get rid of all the scene using legacy rdma_node_get_transport(),
now clean it up.

Cc: Steve Wise <swise@opengridcomputing.com>
Cc: Tom Talpey <tom@talpey.com>
Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Cc: Doug Ledford <dledford@redhat.com>
Cc: Ira Weiny <ira.weiny@intel.com>
Cc: Sean Hefty <sean.hefty@intel.com>
Signed-off-by: Michael Wang <yun.wang@profitbricks.com>
---
 drivers/infiniband/core/verbs.c | 21 ---------------------
 include/rdma/ib_verbs.h         |  3 ---
 2 files changed, 24 deletions(-)

Comments

Hal Rosenstock April 16, 2015, 1:36 p.m. UTC | #1
On 4/16/2015 4:15 AM, Michael Wang wrote:
> 
> We have get rid of all the scene using legacy rdma_node_get_transport(),
> now clean it up.
> 
> Cc: Steve Wise <swise@opengridcomputing.com>
> Cc: Tom Talpey <tom@talpey.com>
> Cc: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
> Cc: Doug Ledford <dledford@redhat.com>
> Cc: Ira Weiny <ira.weiny@intel.com>
> Cc: Sean Hefty <sean.hefty@intel.com>
> Signed-off-by: Michael Wang <yun.wang@profitbricks.com>
> ---
>  drivers/infiniband/core/verbs.c | 21 ---------------------
>  include/rdma/ib_verbs.h         |  3 ---
>  2 files changed, 24 deletions(-)
> 
> diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
> index ee4b5cb..bbea0c0 100644
> --- a/drivers/infiniband/core/verbs.c
> +++ b/drivers/infiniband/core/verbs.c
> @@ -107,27 +107,6 @@ __attribute_const__ int ib_rate_to_mbps(enum ib_rate rate)
>  }
>  EXPORT_SYMBOL(ib_rate_to_mbps);
>  
> -__attribute_const__ enum rdma_transport_type
> -rdma_node_get_transport(enum rdma_node_type node_type)
> -{
> -	switch (node_type) {
> -	case RDMA_NODE_IB_CA:
> -	case RDMA_NODE_IB_SWITCH:
> -	case RDMA_NODE_IB_ROUTER:
> -		return RDMA_TRANSPORT_IB;
> -	case RDMA_NODE_RNIC:
> -		return RDMA_TRANSPORT_IWARP;
> -	case RDMA_NODE_USNIC:
> -		return RDMA_TRANSPORT_USNIC;
> -	case RDMA_NODE_USNIC_UDP:
> -		return RDMA_TRANSPORT_USNIC_UDP;
> -	default:
> -		BUG();
> -		return 0;
> -	}
> -}
> -EXPORT_SYMBOL(rdma_node_get_transport);
> -
>  enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device, u8 port_num)
>  {
>  	if (device->get_link_layer)
> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> index 262bf44..f9ef479 100644
> --- a/include/rdma/ib_verbs.h
> +++ b/include/rdma/ib_verbs.h
> @@ -84,9 +84,6 @@ enum rdma_transport_type {
>  	RDMA_TRANSPORT_IBOE,
>  };
>  
> -__attribute_const__ enum rdma_transport_type
> -rdma_node_get_transport(enum rdma_node_type node_type);
> -
>  enum rdma_link_layer {
>  	IB_LINK_LAYER_UNSPECIFIED,

Is IB_LINK_LAYER_UNSPECIFIED still possible ?

>  	IB_LINK_LAYER_INFINIBAND,
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michael Wang April 16, 2015, 1:41 p.m. UTC | #2
On 04/16/2015 03:36 PM, Hal Rosenstock wrote:
[snip]
>> -EXPORT_SYMBOL(rdma_node_get_transport);
>> -
>>  enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device, u8 port_num)
>>  {
>>  	if (device->get_link_layer)
>> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
>> index 262bf44..f9ef479 100644
>> --- a/include/rdma/ib_verbs.h
>> +++ b/include/rdma/ib_verbs.h
>> @@ -84,9 +84,6 @@ enum rdma_transport_type {
>>  	RDMA_TRANSPORT_IBOE,
>>  };
>>  
>> -__attribute_const__ enum rdma_transport_type
>> -rdma_node_get_transport(enum rdma_node_type node_type);
>> -
>>  enum rdma_link_layer {
>>  	IB_LINK_LAYER_UNSPECIFIED,
> 
> Is IB_LINK_LAYER_UNSPECIFIED still possible ?

Actually it's impossible in kernel at first, all those who implemented the callback
won't return UNSPECIFIED, others all have the correct transport type (otherwise BUG())
and won't result UNSPECIFIED :-)

Regards,
Michael Wang

> 
>>  	IB_LINK_LAYER_INFINIBAND,
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Hal Rosenstock April 16, 2015, 1:42 p.m. UTC | #3
On 4/16/2015 9:41 AM, Michael Wang wrote:
> 
> 
> On 04/16/2015 03:36 PM, Hal Rosenstock wrote:
> [snip]
>>> -EXPORT_SYMBOL(rdma_node_get_transport);
>>> -
>>>  enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device, u8 port_num)
>>>  {
>>>  	if (device->get_link_layer)
>>> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
>>> index 262bf44..f9ef479 100644
>>> --- a/include/rdma/ib_verbs.h
>>> +++ b/include/rdma/ib_verbs.h
>>> @@ -84,9 +84,6 @@ enum rdma_transport_type {
>>>  	RDMA_TRANSPORT_IBOE,
>>>  };
>>>  
>>> -__attribute_const__ enum rdma_transport_type
>>> -rdma_node_get_transport(enum rdma_node_type node_type);
>>> -
>>>  enum rdma_link_layer {
>>>  	IB_LINK_LAYER_UNSPECIFIED,
>>
>> Is IB_LINK_LAYER_UNSPECIFIED still possible ?
> 
> Actually it's impossible in kernel at first, all those who implemented the callback
> won't return UNSPECIFIED, others all have the correct transport type (otherwise BUG())
> and won't result UNSPECIFIED :-)

Should it be removed from this enum somewhere in this patch series
(perhaps early on) ?

-- Hal

> Regards,
> Michael Wang
> 
>>
>>>  	IB_LINK_LAYER_INFINIBAND,
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michael Wang April 16, 2015, 1:45 p.m. UTC | #4
On 04/16/2015 03:42 PM, Hal Rosenstock wrote:
> On 4/16/2015 9:41 AM, Michael Wang wrote:
>>
>>
>> On 04/16/2015 03:36 PM, Hal Rosenstock wrote:
>> [snip]
>>>> -EXPORT_SYMBOL(rdma_node_get_transport);
>>>> -
>>>>  enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device, u8 port_num)
>>>>  {
>>>>  	if (device->get_link_layer)
>>>> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
>>>> index 262bf44..f9ef479 100644
>>>> --- a/include/rdma/ib_verbs.h
>>>> +++ b/include/rdma/ib_verbs.h
>>>> @@ -84,9 +84,6 @@ enum rdma_transport_type {
>>>>  	RDMA_TRANSPORT_IBOE,
>>>>  };
>>>>  
>>>> -__attribute_const__ enum rdma_transport_type
>>>> -rdma_node_get_transport(enum rdma_node_type node_type);
>>>> -
>>>>  enum rdma_link_layer {
>>>>  	IB_LINK_LAYER_UNSPECIFIED,
>>>
>>> Is IB_LINK_LAYER_UNSPECIFIED still possible ?
>>
>> Actually it's impossible in kernel at first, all those who implemented the callback
>> won't return UNSPECIFIED, others all have the correct transport type (otherwise BUG())
>> and won't result UNSPECIFIED :-)
> 
> Should it be removed from this enum somewhere in this patch series
> (perhaps early on) ?

It was still directly used by helper like ib_modify_qp_is_ok() as indicator, may be
better in another following patch to reform those part :-)

Regards,
Michael Wang

> 
> -- Hal
> 
>> Regards,
>> Michael Wang
>>
>>>
>>>>  	IB_LINK_LAYER_INFINIBAND,
>>
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Tom Tucker April 16, 2015, 1:51 p.m. UTC | #5
On 4/16/15 8:45 AM, Michael Wang wrote:
>
> On 04/16/2015 03:42 PM, Hal Rosenstock wrote:
>> On 4/16/2015 9:41 AM, Michael Wang wrote:
>>>
>>> On 04/16/2015 03:36 PM, Hal Rosenstock wrote:
>>> [snip]
>>>>> -EXPORT_SYMBOL(rdma_node_get_transport);
>>>>> -
>>>>>   enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device, u8 port_num)
>>>>>   {
>>>>>   	if (device->get_link_layer)
>>>>> diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
>>>>> index 262bf44..f9ef479 100644
>>>>> --- a/include/rdma/ib_verbs.h
>>>>> +++ b/include/rdma/ib_verbs.h
>>>>> @@ -84,9 +84,6 @@ enum rdma_transport_type {
>>>>>   	RDMA_TRANSPORT_IBOE,
>>>>>   };
>>>>>   
>>>>> -__attribute_const__ enum rdma_transport_type
>>>>> -rdma_node_get_transport(enum rdma_node_type node_type);
>>>>> -
>>>>>   enum rdma_link_layer {
>>>>>   	IB_LINK_LAYER_UNSPECIFIED,
>>>> Is IB_LINK_LAYER_UNSPECIFIED still possible ?
>>> Actually it's impossible in kernel at first, all those who implemented the callback
>>> won't return UNSPECIFIED, others all have the correct transport type (otherwise BUG())
>>> and won't result UNSPECIFIED :-)
>> Should it be removed from this enum somewhere in this patch series
>> (perhaps early on) ?
I don't think it's ever been 'possible.' It's purpose is to catch 
initialized errors where the transport fails to initialize it's 
transport type. So for example,

provider = calloc(1, sizeof *provider)

If 0 is a valid link layer type, then you wouldn't catch these kinds of 
errors.

Tom
> It was still directly used by helper like ib_modify_qp_is_ok() as indicator, may be
> better in another following patch to reform those part :-)
>
> Regards,
> Michael Wang
>
>> -- Hal
>>
>>> Regards,
>>> Michael Wang
>>>
>>>>>   	IB_LINK_LAYER_INFINIBAND,

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/infiniband/core/verbs.c b/drivers/infiniband/core/verbs.c
index ee4b5cb..bbea0c0 100644
--- a/drivers/infiniband/core/verbs.c
+++ b/drivers/infiniband/core/verbs.c
@@ -107,27 +107,6 @@  __attribute_const__ int ib_rate_to_mbps(enum ib_rate rate)
 }
 EXPORT_SYMBOL(ib_rate_to_mbps);
 
-__attribute_const__ enum rdma_transport_type
-rdma_node_get_transport(enum rdma_node_type node_type)
-{
-	switch (node_type) {
-	case RDMA_NODE_IB_CA:
-	case RDMA_NODE_IB_SWITCH:
-	case RDMA_NODE_IB_ROUTER:
-		return RDMA_TRANSPORT_IB;
-	case RDMA_NODE_RNIC:
-		return RDMA_TRANSPORT_IWARP;
-	case RDMA_NODE_USNIC:
-		return RDMA_TRANSPORT_USNIC;
-	case RDMA_NODE_USNIC_UDP:
-		return RDMA_TRANSPORT_USNIC_UDP;
-	default:
-		BUG();
-		return 0;
-	}
-}
-EXPORT_SYMBOL(rdma_node_get_transport);
-
 enum rdma_link_layer rdma_port_get_link_layer(struct ib_device *device, u8 port_num)
 {
 	if (device->get_link_layer)
diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
index 262bf44..f9ef479 100644
--- a/include/rdma/ib_verbs.h
+++ b/include/rdma/ib_verbs.h
@@ -84,9 +84,6 @@  enum rdma_transport_type {
 	RDMA_TRANSPORT_IBOE,
 };
 
-__attribute_const__ enum rdma_transport_type
-rdma_node_get_transport(enum rdma_node_type node_type);
-
 enum rdma_link_layer {
 	IB_LINK_LAYER_UNSPECIFIED,
 	IB_LINK_LAYER_INFINIBAND,