Applies To: |
|
Summary: |
With version 5.5, changes where made to the
I/O Server cache handling code to allow blocked reads to get data
from several cache DCBs if they contain data.
Previously, if a read could not get its data from a single cached DCB, it would be #COM or #WAIT. On writes, the DCB for the data in cache is purged. This means other data in the cached DCB is no longer available for reads. Thus #COM or #WAITs will occur. A new option exists to not purge the cache DCB on writes and update the cache data after the write has been confirmed. The new parameter [IOSERVER]CacheOptMode is used to control the behaviour for finding a DCB in an I/O Server unit cache. |
Solution: |
A NEW INI parameter has been included to
use new cache features. The default is the existing Citect
handling.
[IOSERVER]CacheOptMode=0 ! default 0 This parameter is used to control the behaviour for finding a DCB in an I/O Server unit cache. By default, the I/O Server only searches for a DCB to be within or equal to a single cache DCB. e.g. cache has points 1 to 10, and then 11 to 20, and a DCB wants 5 to 6, all is OK. If however the read was for items 9 to 11, the system would not return a match and would request a read from the driver. For a disconnected dialup unit, this would cause a #COM or #WAIT. CacheOptMode Values are : 1 - First come first served - Tells the I/O Server to search through all cached DCBs looking for the data, once it is found return. 2 - Scan all cache for latest entries - Forces the scan to look through ALL cached items to find data which is the MOST recent. 4 - An incomplete match is OK - Tells the system that if some items match and some are not found, to consider this a total find. +8 - Allow behaviour on all devices, by default the settings above only apply to remote units. +16 - Allow written data not to remove cache item and update value on return, e.g. 1 to 10 in the cache, write to 8. The default behaviour would be to remove the whole cache item so a fresh read of 1 to 10 would be needed on a write to 8. With +16 added, then 1 to 10 stays in the cache, and item 8 would be updated on the REPLY from the driver. Normally for dialup devices, CacheOptMode=1 would cover most requirements. |
Keywords: |
Related Links
Attachments