[rds-devel] The meaning of MR invalidation

Or Gerlitz ogerlitz at voltaire.com
Sun Feb 17 23:28:28 PST 2008


Olaf Kirch wrote:
> I would also like to have some control over when a flush can be
> triggered asynchronously. Right now, I can call invalidate, but that
> is synchronous and can't be called from atomic context.

SYNC_TPT (and any other --command-- issued on the HCA) may not be called 
from atomic context (see Documentation/infiniband/core_locking.txt), the 
pool gives you control in the form of dirty_water mark, but I understand 
that its not enough?

> Second, I need a way to hook into the FMR destroy - I need to keep
> the memory pinned until I know the FMR has gone away, so I do want
> to be called back when that happens.

The FMR pool allows you to register a flush handler which is called by 
the pool thread after an unmapping has occurred, but it does not specify 
you the list of unmapped FMRs. However, as I said on the other email, I 
am not sure that this method of keeping memory pinned, etc other means 
that you do in a "one sided" fashion, are enough to get what you want, 
so both pools are problematic, --maybe-- the rds one a little less, 
thoughts?

Or.





More information about the rds-devel mailing list