On Mar 23, 2010, at 1:29 PM, Jason Gunthorpe wrote:

> > What do you poll on the fd for?
> 
> poll() is for apps that want to get the notifications without
> spinning on the counter.

Ah, ok.

I think even with the ummunotify interface, that would work, too.  Meaning: 
since you have to read() from the fd to get event details, poll() would *also* 
tell you if there was something to read (in addition to checking if 
(last_counter != counter)).  The counter is a fast way of checking -- e.g., if 
you need to check in your fast path (which MPI's likely will).  poll() could be 
used if you don't care if the check is slow.

> If you don't think that is worth doing it
> does simplify things alot, just add two new verbs calls:
> 
> ibv_set_mmu_counter(verbs, &my_counter);
> ibv_get_mmu_notifications(verbs, &my_list, sizeof(my_list));

I have no real opinion on whether the mmap/read should be hidden by the above 
ibv calls or not.  Either is fine with me.  I would *assume* that 
ibv_get_mmu_notifications() is non-blocking, right?  E.g., if you ask for N and 
only M are available (where M < N), then the call returns with only M items 
filled (and M could be 0).  Perhaps you need another parameter to indicate how 
many items in my_list were actually filled?  Or is that the return value?

-- 
Jeff Squyres
jsquy...@cisco.com
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to