RE: [PATCH rdma-next v1 1/2] IB/core: Let IB core distribute cache update events

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
> Sent: Tuesday, October 29, 2019 10:34 AM
> To: Parav Pandit <parav@xxxxxxxxxxxx>
> Cc: Leon Romanovsky <leon@xxxxxxxxxx>; Doug Ledford
> <dledford@xxxxxxxxxx>; Leon Romanovsky <leonro@xxxxxxxxxxxx>; RDMA
> mailing list <linux-rdma@xxxxxxxxxxxxxxx>; Daniel Jurgens
> <danielj@xxxxxxxxxxxx>
> Subject: Re: [PATCH rdma-next v1 1/2] IB/core: Let IB core distribute cache
> update events
> 
> On Tue, Oct 29, 2019 at 03:32:46PM +0000, Parav Pandit wrote:
> 
> > > > +/**
> > > > + * ib_dispatch_event - Dispatch an asynchronous event
> > > > + * @event:Event to dispatch
> > > > + *
> > > > + * Low-level drivers must call ib_dispatch_event() to dispatch the
> > > > + * event to all registered event handlers when an asynchronous event
> > > > + * occurs.
> > > > + */
> > > > +void ib_dispatch_event(struct ib_event *event) {
> > > > +	ib_enqueue_cache_update_event(event);
> > > > +}
> > > >  EXPORT_SYMBOL(ib_dispatch_event);
> > >
> > > Why not just move this into cache.c?
> > >
> > Same thought same to me when I had to add one liner call.
> > However the issue was device.c has the code for the event
> registration/unregistration and calling the handlers unrelated to cache.
> > So moving ib_dispatch_event() to cache.c looked incorrect to me.
> 
> Well, maybe we can move the wq code from the cache.c into here?
> 
I prefer to keep all cache specific code in cache.c because there is where we flush the ib_wq, queue work there.

> It looks just as incorrect to have the one line call
> 
No, its not incorrect. Because device.c provides functionality to register/unregister handler and dispatch event.
While cache layer deals with cache updates etc, and uses wq service provided device.c
If we rename ib_dispatch_event() to ib_dispatch_cache_event() it make sense to move to cache.c
However we have non cache specific events there too, so current code split between cache.c and device.c looks appropriate.

> Jason




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux