[mvapich-discuss] regestration cache limits in mvapich 0.9.7

Sayantan Sur surs at cse.ohio-state.edu
Thu Jun 22 10:56:23 EDT 2006


Hello Pasha,

Pavel Shamis (Pasha) wrote:

> Hi,
> In mvapich-0.9.7 you have viadev_dreg_cache_limit limit that should 
> limit the size of registration cache. From review in dreg.* stuff I see
> that actually this parameter limits only the maximum number of pages 
> per _single_ buffer registration (see dreg_new_entry()) and not total 
> number of registered pages in the cache.  Can you please review this 
> point ? Because I'm not sure that we want limit # of pages per single 
> buffer registration.

Thanks for looking at the code in detail. Here's my explanation of the code:

1) dreg cache interface is called using dreg_register()
2) If no cache entry is found, dreg_new_entry() is called
3) dreg_new_entry() checks if the single registration size itself will 
violate the cache limit. It doesn't allow a single registration to go 
past the user defined limit.
4) If it is found that the single registration is below the user defined 
limit, then the flow proceeds to dreg_insert()
5) In dreg_insert(), we call vma_new() to insert a new virtual memory region
6) In vma_new() the number of pages requested is added to a variable 
called `pinned_pages_count'. If this pinned_pages_count exceeds the user 
set limit `viadev_dreg_cache_limit', then NULL is returned and this is 
propagated to the upper layer to report a failed registration. If not, 
then the `pinned_pages_count' variable is incremented accordingly.
7) `pinned_pages_count' is decremented when a memory area is removed 
using vma_remove()

I hope this helps.

Thanks,
Sayantan.

>
> Thanks,
> Pavel Shamis (Pasha)
> _______________________________________________
> mvapich-discuss mailing list
> mvapich-discuss at cse.ohio-state.edu
> http://mail.cse.ohio-state.edu/mailman/listinfo/mvapich-discuss



-- 
http://www.cse.ohio-state.edu/~surs



More information about the mvapich-discuss mailing list