[dpdk-dev] [EXT] RE: [PATCH 1/1] eal/linux: fix event set error for rte_epoll_event

wangyunjian wangyunjian at huawei.com
Tue Sep 22 14:05:50 CEST 2020


> -----Original Message-----
> From: Harman Kalra [mailto:hkalra at marvell.com]
> Sent: Tuesday, September 22, 2020 6:32 PM
> To: wangyunjian <wangyunjian at huawei.com>
> Cc: dev at dpdk.org; david.marchand at redhat.com; ferruh.yigit at intel.com;
> Thomas Monjalon <thomas at monjalon.net>; Lilijun (Jerry)
> <jerry.lilijun at huawei.com>; xudingke <xudingke at huawei.com>;
> stable at dpdk.org
> Subject: Re: [EXT] RE: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set error for
> rte_epoll_event
> 
> On Sat, Sep 19, 2020 at 10:42:30AM +0000, wangyunjian wrote:
> > External Email
> >
> > ----------------------------------------------------------------------
> > Friendly ping.
> 
> Hi Wang,
> 
>    I am sorry for the delay in review, I will surely complete the review
>    by end of this week.
>    Can you please elaborate on the specific case/scenario which caused
>    failure i.e. which lead you to this change.

EPOLLERR event will be triggered when an exception occurs. This event will be set
in 'evs.events', we should use 'evs.events' instead of 'rev->epdata.event' to assign
to 'events.epdata.event'. Otherwise, the EPOLLERR event will lost.

Thanks,
Yunjian

> 
> Thanks
> Harman
> 
> >
> > > -----Original Message-----
> > > From: wangyunjian
> > > Sent: Wednesday, August 26, 2020 6:56 PM
> > > To: dev at dpdk.org; hkalra at marvell.com; david.marchand at redhat.com
> > > Cc: 'ferruh.yigit at intel.com' <ferruh.yigit at intel.com>; 'Thomas Monjalon'
> > > <thomas at monjalon.net>; Lilijun (Jerry) <jerry.lilijun at huawei.com>;
> > > xudingke <xudingke at huawei.com>; stable at dpdk.org
> > > Subject: RE: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set error
> > > for rte_epoll_event
> > >
> > > Ping for review, please.
> > >
> > > > -----Original Message-----
> > > > From: wangyunjian
> > > > Sent: Wednesday, July 15, 2020 10:40 AM
> > > > To: dev at dpdk.org; hkalra at marvell.com
> > > > Cc: Lilijun (Jerry) <jerry.lilijun at huawei.com>; xudingke
> > > > <xudingke at huawei.com>; wangyunjian <wangyunjian at huawei.com>;
> > > > stable at dpdk.org
> > > > Subject: [dpdk-dev] [PATCH 1/1] eal/linux: fix event set error for
> > > > rte_epoll_event
> > > >
> > > > From: Yunjian Wang <wangyunjian at huawei.com>
> > > >
> > > > The "rev->epdata.event" assigned to "events.epdata.event"
> > > > directly, which was wrong in case of epoll events. It should be set to the
> "evs.events".
> > > >
> > > > Fixes: 9efe9c6cdcac ("eal/linux: add epoll wrappers")
> > > > Cc: stable at dpdk.org
> > > >
> > > > Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
> > > > ---
> > > >  lib/librte_eal/linux/eal_interrupts.c | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > >
> > > > diff --git a/lib/librte_eal/linux/eal_interrupts.c
> > > > b/lib/librte_eal/linux/eal_interrupts.c
> > > > index 13db5c4e8..8a3c95cec 100644
> > > > --- a/lib/librte_eal/linux/eal_interrupts.c
> > > > +++ b/lib/librte_eal/linux/eal_interrupts.c
> > > > @@ -1237,7 +1237,7 @@ eal_epoll_process_event(struct epoll_event
> > > > *evs, unsigned int n,
> > > >  		events[count].status        = RTE_EPOLL_VALID;
> > > >  		events[count].fd            = rev->fd;
> > > >  		events[count].epfd          = rev->epfd;
> > > > -		events[count].epdata.event  = rev->epdata.event;
> > > > +		events[count].epdata.event  = evs[i].events;
> > > >  		events[count].epdata.data   = rev->epdata.data;
> > > >  		if (rev->epdata.cb_fun)
> > > >  			rev->epdata.cb_fun(rev->fd,
> > > > --
> > > > 2.23.0
> > > >
> >


More information about the dev mailing list