[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALs4sv3O73a+KT8wbQvFnGFj7Rzxbxz07j79sUWB4BybMSHDXg@mail.gmail.com>
Date: Thu, 23 Mar 2023 10:23:32 +0530
From: Pavan Chebbi <pavan.chebbi@...adcom.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: davem@...emloft.net, netdev@...r.kernel.org, edumazet@...gle.com,
pabeni@...hat.com, willemb@...gle.com, alexander.duyck@...il.com
Subject: Re: [PATCH net-next 1/3] net: provide macros for commonly copied
lockless queue stop/wake code
On Thu, Mar 23, 2023 at 5:01 AM Jakub Kicinski <kuba@...nel.org> wrote:
> +
> +#define netif_tx_queue_try_stop(txq, get_desc, start_thrs) \
> + ({ \
> + int _res; \
> + \
> + netif_tx_stop_queue(txq); \
> + \
> + smp_mb(); \
> + \
> + /* We need to check again in a case another \
> + * CPU has just made room available. \
> + */ \
> + if (likely(get_desc < start_thrs)) { \
I am only curious to understand why initializing _res with likely
result and having a condition to cover only the unlikely case, would
not be better.
As in:
int _res = 0;
if (unlikely(get_desc >= start_thrs) {
start_queue()
_res = -1
}
> + _res = 0; \
> + } else { \
> + netif_tx_start_queue(txq); \
> + _res = -1; \
> + } \
> + _res; \
> + }) \
> +
> --
> 2.39.2
>
Download attachment "smime.p7s" of type "application/pkcs7-signature" (4209 bytes)
Powered by blists - more mailing lists