Subject Re: [Firebird-Architect] Re: Remote Shadows (again...)
Author Alex Peshkov
Vlad Horsun:
>> Not sure. Have a look at CreateFile documentation - discussing
>> FILE_FLAG_NO_BUFFERING they always refer to disk, not network
>> connection. For example - "Buffer addresses for read and write
>> operations should be sector aligned, which means aligned on addresses in
>> memory that are integer multiples of the volume sector size". Please
>> agree, that this makes no sense for data, read from network.
>> What about building experimental SS for you - sorry, I don't have now
>> working win32build environment.
> And we have no guarantie that all buffers passed to the PIO properly
> aligned. I.e. it is not a question of activate file flag only

This becomes interesting - I was sure they are. I suppose that in case
of correct alignment windows may start DMA using allocated buffer
directly. Without correct alignment performance degradation is possible
- OS has to copy data to/from correctly aligned buffer, and use it for
physical IO. Taking into account, that we have never seen errors with
bad alignment code, this is what probably happening.