2015-06-17 04:37:00

by Maninder Singh

[permalink] [raw]
Subject: [RESUBMIT Patch 1/1] net: replace if()/BUG with BUG_ON

Use BUG_ON(condition) instead of if(condition)/BUG() .

Signed-off-by: Maninder Singh <[email protected]>
Reviewed-by: Akhilesh Kumar <[email protected]>
---
net/packet/af_packet.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index b5989c6..c91d405 100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -547,8 +547,7 @@ static void prb_setup_retire_blk_timer(struct packet_sock *po, int tx_ring)
{
struct tpacket_kbdq_core *pkc;

- if (tx_ring)
- BUG();
+ BUG_ON(tx_ring);

pkc = tx_ring ? GET_PBDQC_FROM_RB(&po->tx_ring) :
GET_PBDQC_FROM_RB(&po->rx_ring);
--
1.7.1


2015-06-17 06:28:30

by Michael S. Tsirkin

[permalink] [raw]
Subject: Re: [RESUBMIT Patch 1/1] net: replace if()/BUG with BUG_ON

On Wed, Jun 17, 2015 at 10:06:01AM +0530, Maninder Singh wrote:
> Use BUG_ON(condition) instead of if(condition)/BUG() .
>
> Signed-off-by: Maninder Singh <[email protected]>
> Reviewed-by: Akhilesh Kumar <[email protected]>

Why not?

Acked-by: Michael S. Tsirkin <[email protected]>


> ---
> net/packet/af_packet.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
> index b5989c6..c91d405 100644
> --- a/net/packet/af_packet.c
> +++ b/net/packet/af_packet.c
> @@ -547,8 +547,7 @@ static void prb_setup_retire_blk_timer(struct packet_sock *po, int tx_ring)
> {
> struct tpacket_kbdq_core *pkc;
>
> - if (tx_ring)
> - BUG();
> + BUG_ON(tx_ring);
>
> pkc = tx_ring ? GET_PBDQC_FROM_RB(&po->tx_ring) :
> GET_PBDQC_FROM_RB(&po->rx_ring);
> --
> 1.7.1

2015-06-17 07:36:15

by Frans Klaver

[permalink] [raw]
Subject: Re: [RESUBMIT Patch 1/1] net: replace if()/BUG with BUG_ON

On Wed, Jun 17, 2015 at 6:36 AM, Maninder Singh <[email protected]> wrote:
> Use BUG_ON(condition) instead of if(condition)/BUG() .
>
> Signed-off-by: Maninder Singh <[email protected]>
> Reviewed-by: Akhilesh Kumar <[email protected]>
> ---
> net/packet/af_packet.c | 3 +--
> 1 files changed, 1 insertions(+), 2 deletions(-)
>
> diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
> index b5989c6..c91d405 100644
> --- a/net/packet/af_packet.c
> +++ b/net/packet/af_packet.c
> @@ -547,8 +547,7 @@ static void prb_setup_retire_blk_timer(struct packet_sock *po, int tx_ring)
> {
> struct tpacket_kbdq_core *pkc;
>
> - if (tx_ring)
> - BUG();
> + BUG_ON(tx_ring);
>
> pkc = tx_ring ? GET_PBDQC_FROM_RB(&po->tx_ring) :
> GET_PBDQC_FROM_RB(&po->rx_ring);

I don't get this. We're not allowed to be using tx_ring, but we can
and do handle it? Does that still warrant a BUG() or BUG_ON()? It's
been in since the function introduction[0]. Can somebody explain?

Thanks,
Frans

[0] f6fb8f100b80 (af-packet: TPACKET_V3 flexible buffer implementation.)

2015-06-17 08:26:36

by Alexander Drozdov

[permalink] [raw]
Subject: Re: [RESUBMIT Patch 1/1] net: replace if()/BUG with BUG_ON

On Wed, 17 Jun 2015 09:36:11 +0200, Frans Klaver wrote:
> On Wed, Jun 17, 2015 at 6:36 AM, Maninder Singh <[email protected]> wrote:
>> Use BUG_ON(condition) instead of if(condition)/BUG() .
>>
>> Signed-off-by: Maninder Singh <[email protected]>
>> Reviewed-by: Akhilesh Kumar <[email protected]>
>> ---
>> net/packet/af_packet.c | 3 +--
>> 1 files changed, 1 insertions(+), 2 deletions(-)
>>
>> diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
>> index b5989c6..c91d405 100644
>> --- a/net/packet/af_packet.c
>> +++ b/net/packet/af_packet.c
>> @@ -547,8 +547,7 @@ static void prb_setup_retire_blk_timer(struct packet_sock *po, int tx_ring)
>> {
>> struct tpacket_kbdq_core *pkc;
>>
>> - if (tx_ring)
>> - BUG();
>> + BUG_ON(tx_ring);
>>
>> pkc = tx_ring ? GET_PBDQC_FROM_RB(&po->tx_ring) :
>> GET_PBDQC_FROM_RB(&po->rx_ring);
>
> I don't get this. We're not allowed to be using tx_ring, but we can
> and do handle it? Does that still warrant a BUG() or BUG_ON()? It's
> been in since the function introduction[0]. Can somebody explain?

TPACKET_V3 doesn't support tx for now, so the function is actualy never
called with non-zero tx_ring. I think there were plans to add the
support. But retire timer for tx will not be needed anyway as it is
up to user to fill the ring buffer.

> Thanks,
> Frans
>
> [0] f6fb8f100b80 (af-packet: TPACKET_V3 flexible buffer implementation.)
>

2015-06-17 08:30:25

by Frans Klaver

[permalink] [raw]
Subject: Re: [RESUBMIT Patch 1/1] net: replace if()/BUG with BUG_ON

On Wed, Jun 17, 2015 at 10:26 AM, Alexander Drozdov
<[email protected]> wrote:
> On Wed, 17 Jun 2015 09:36:11 +0200, Frans Klaver wrote:
>>
>> On Wed, Jun 17, 2015 at 6:36 AM, Maninder Singh <[email protected]>
>> wrote:
>>>
>>> Use BUG_ON(condition) instead of if(condition)/BUG() .
>>>
>>> Signed-off-by: Maninder Singh <[email protected]>
>>> Reviewed-by: Akhilesh Kumar <[email protected]>
>>> ---
>>> net/packet/af_packet.c | 3 +--
>>> 1 files changed, 1 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
>>> index b5989c6..c91d405 100644
>>> --- a/net/packet/af_packet.c
>>> +++ b/net/packet/af_packet.c
>>> @@ -547,8 +547,7 @@ static void prb_setup_retire_blk_timer(struct
>>> packet_sock *po, int tx_ring)
>>> {
>>> struct tpacket_kbdq_core *pkc;
>>>
>>> - if (tx_ring)
>>> - BUG();
>>> + BUG_ON(tx_ring);
>>>
>>> pkc = tx_ring ? GET_PBDQC_FROM_RB(&po->tx_ring) :
>>> GET_PBDQC_FROM_RB(&po->rx_ring);
>>
>>
>> I don't get this. We're not allowed to be using tx_ring, but we can
>> and do handle it? Does that still warrant a BUG() or BUG_ON()? It's
>> been in since the function introduction[0]. Can somebody explain?
>
>
> TPACKET_V3 doesn't support tx for now, so the function is actualy never
> called with non-zero tx_ring. I think there were plans to add the
> support. But retire timer for tx will not be needed anyway as it is
> up to user to fill the ring buffer.

Ah, that explains something. If retire timer is not going to be needed
for tx, wouldn't it be better to remove the whole tx_ring handling
from this function altogether, rather than changing the BUG()?

Thanks,
Frans

2015-06-21 16:43:42

by David Miller

[permalink] [raw]
Subject: Re: [RESUBMIT Patch 1/1] net: replace if()/BUG with BUG_ON

From: Frans Klaver <[email protected]>
Date: Wed, 17 Jun 2015 10:30:18 +0200

> Ah, that explains something. If retire timer is not going to be needed
> for tx, wouldn't it be better to remove the whole tx_ring handling
> from this function altogether, rather than changing the BUG()?

Agreed.