[openib-general] [PATCH 1/2] mthca support for max_map_per_fmr device attribute
Or Gerlitz
ogerlitz at voltaire.com
Tue May 23 04:11:05 PDT 2006
Or Gerlitz wrote:
> The max fmr remaps device attribute is not set by the driver, so the generic
> fmr_pool uses a default of 32. Enlaring this quantity would make the amortized
> cost of remaps lower. With the current mthca "default profile" on memfull HCA
> 17 bits are used for MPT addressing so an FMR can be remapped 2^15 - 1 >> 32 times.
Actually, the bigger (than unmap amortized cost) problem i was facing
with the unmap count being very low is the following: say my app
publishes N credits and serving each credit consumes one FMR, so my app
implementation created the pool with 2N FMRs and set the watermark to N.
When "requests" come fast enough, there's a window in time when there's
an unmapping of N FMRs running at batch, but out of the remaining N FMRs
some are already dirty and can't be used to serve a credit. So the app
fails temporally... So, setting the watermark to 0.5N might solve this,
but since enlarging the number of remaps is trivial, i'd like to do it
first.
The app i am talking about is a SCSI LLD (eg iSER, SRP) where each SCSI
command consumes one FMR and the LLD posts to the SCSI ML how many
commands can be issued in parallel.
Or.
More information about the general
mailing list