https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91030

--- Comment #19 from David Edelsohn <dje at gcc dot gnu.org> ---
IBM XLF provides an XLFRTEOPTS environment variable, which includes control
over buffer size.  The documentation makes it clear that XLF uses the block
size of the device by default:

buffer_size=size
Specifies the size of I/O buffers in bytes instead of using the block size of
devices. size must be either -1 or an integer value that is greater than or
equal to 4096. The default, -1, uses the block size of the device where the
file resides.
Using this option can reduce the amount of memory used for I/O buffers when an
application runs out of memory because the block size of devices is very large
and the application opens many files at the same time.

Note the following when using this runtime option:
Preconnected units remain unaffected by this option. Their buffer size is the
same as the block size of the device where they reside except when the block
size is larger than 64KB, in which case the buffer size is set to 64KB.
This runtime option does not apply to files on a tape device or logical volume.
Specifying the buffer size with the SETRTEOPTS procedure overrides any value
previously set by the XLFRTEOPTS environment variable or SETRTEOPTS procedure.
The resetting of this option does not affect units that have already been
opened.

https://www.ibm.com/support/knowledgecenter/SSAT4T_16.1.1/com.ibm.xlf1611.lelinux.doc/compiler_ref/rteopts.html

Reply via email to