Messages in this thread | | | From | "Xin, Xiaohui" <> | Date | Mon, 15 Mar 2010 16:46:50 +0800 | Subject | RE: [PATCH v1 2/3] Provides multiple submits and asynchronous notifications. |
| |
>> +/* The structure to notify the virtqueue for async socket */ >> +struct vhost_notifier { >> + struct list_head list; > >+ struct vhost_virtqueue *vq; > >+ int head; > >+ int size; > >+ int log; > >+ void *ctrl; > >+ void (*dtor)(struct vhost_notifier *); > >+}; > >+
>So IMO, this is not the best interface between vhost >and your driver, exposing them to each other unnecessarily. > >If you think about it, your driver should not care about this structure. >It could get e.g. a kiocb (sendmsg already gets one), and call ki_dtor >on completion. vhost could save it's state in ki_user_data. If your >driver needs to add more data to do more tracking, I think it can put >skb pointer in the private pointer.
Then if I remove the struct vhost_notifier, and just use struct kiocb, but don't use the one got from sendmsg or recvmsg, but allocated within the page_info structure, and don't implement any aio logic related to it, is that ok?
Sorry, I made a patch, but don't know how to reply mail with a good formatted patch here....
Thanks Xiaohui
| |