[dpdk-dev] event/sw: add unlikely branch predict

Message ID 1519762085-77659-1-git-send-email-vipin.varghese@intel.com (mailing list archive)
State Accepted, archived
Delegated to: Jerin Jacob
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Varghese, Vipin Feb. 27, 2018, 8:08 p.m. UTC
  For most run cases 'sw->started' holds true. Adding a branch prediction
suggestion to compiler helps as this is first conditional check just
after entering the function.

Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
---
 drivers/event/sw/sw_evdev_scheduler.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Kevin Laatz March 14, 2018, 1:06 p.m. UTC | #1
On 27/02/2018 20:08, Vipin Varghese wrote:
> For most run cases 'sw->started' holds true. Adding a branch prediction
> suggestion to compiler helps as this is first conditional check just
> after entering the function.
>
> Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
> ---
>   drivers/event/sw/sw_evdev_scheduler.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/event/sw/sw_evdev_scheduler.c b/drivers/event/sw/sw_evdev_scheduler.c
> index 3106eb3..17bd4c0 100644
> --- a/drivers/event/sw/sw_evdev_scheduler.c
> +++ b/drivers/event/sw/sw_evdev_scheduler.c
> @@ -508,7 +508,7 @@ sw_event_schedule(struct rte_eventdev *dev)
>   	uint32_t i;
>   
>   	sw->sched_called++;
> -	if (!sw->started)
> +	if (unlikely(!sw->started))
>   		return;
>   
>   	do {

Acked-by: Kevin Laatz <kevin.laatz@intel.com>
  
Jerin Jacob March 20, 2018, 5:39 a.m. UTC | #2
-----Original Message-----
> Date: Wed, 14 Mar 2018 13:06:35 +0000
> From: "Laatz, Kevin" <kevin.laatz@intel.com>
> To: Vipin Varghese <vipin.varghese@intel.com>
> CC: dev@dpdk.org, harry.van.haaren@intel.com
> Subject: Re: [dpdk-dev] [PATCH] event/sw: add unlikely branch predict
> User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101
>  Thunderbird/52.6.0
> 
> 
> On 27/02/2018 20:08, Vipin Varghese wrote:
> > For most run cases 'sw->started' holds true. Adding a branch prediction
> > suggestion to compiler helps as this is first conditional check just
> > after entering the function.
> > 
> > Signed-off-by: Vipin Varghese <vipin.varghese@intel.com>
> > ---
> >   drivers/event/sw/sw_evdev_scheduler.c | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/event/sw/sw_evdev_scheduler.c b/drivers/event/sw/sw_evdev_scheduler.c
> > index 3106eb3..17bd4c0 100644
> > --- a/drivers/event/sw/sw_evdev_scheduler.c
> > +++ b/drivers/event/sw/sw_evdev_scheduler.c
> > @@ -508,7 +508,7 @@ sw_event_schedule(struct rte_eventdev *dev)
> >   	uint32_t i;
> >   	sw->sched_called++;
> > -	if (!sw->started)
> > +	if (unlikely(!sw->started))
> >   		return;
> >   	do {
> 
> Acked-by: Kevin Laatz <kevin.laatz@intel.com>

Applied to dpdk-next-eventdev/master. Thanks.
  

Patch

diff --git a/drivers/event/sw/sw_evdev_scheduler.c b/drivers/event/sw/sw_evdev_scheduler.c
index 3106eb3..17bd4c0 100644
--- a/drivers/event/sw/sw_evdev_scheduler.c
+++ b/drivers/event/sw/sw_evdev_scheduler.c
@@ -508,7 +508,7 @@  sw_event_schedule(struct rte_eventdev *dev)
 	uint32_t i;
 
 	sw->sched_called++;
-	if (!sw->started)
+	if (unlikely(!sw->started))
 		return;
 
 	do {