[rds-devel] The meaning of MR invalidation

Olaf Kirch olaf.kirch at oracle.com
Fri Feb 15 06:09:07 PST 2008


Hi Or,

thanks for your explanation!

On Thursday 14 February 2008 15:31, Or Gerlitz wrote:
> When there are multiple I/Os are running in parallel, and each being 
> served by different FMR --> different rkey --> different cache slots, 
> first, they all compete on the cache and second, since fmr_unmap does 
> SYNC_TPT which flushes the cache, one have to try and avoid calling 
> fmr_unmap when possible.
> 
> So basically, when each fmr is remapped n times, over time, you get less 
> SYNC_TPT calls compared to the case where each fmr is mapped once before 
> moved to the unmap queue. However, if you use enough FMRs such that you 
> don't call SYNC_TPT "too much" the use-once design should function quite 
> well compared to use-n design.
> 
> For example, a scheme where you have to serve 1000 1MB IOs/sec, and you 
> alloc 5k FMRs and once every 4 seconds you unmap 4K FMRs from a 
> background thread, might work quite good, but this has to be validated 
> ofcourse.

Yes, this needs some performance measurements.

One last question - when I remap a FMR, does that invalidate the
mapping associated with the previous R_Key?

> Now, if you are willing to go with that approach, it means that in case 
> core fmr pool API is enhanced such that you can --specify-- how many 
> times an fmr can be mapped before its queued for unmap, RDS should be 
> able to use this cache again and not have one of its own!

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.

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.

Olaf
-- 
Olaf Kirch  |  --- o --- Nous sommes du soleil we love when we play
okir at lst.de |    / | \   sol.dhoop.naytheet.ah kin.ir.samse.qurax



More information about the rds-devel mailing list