It turns out KNL has a horrible time trying to decide which
way to go when it hits a branch. Vtune showed that a simple
fi_send/fi_recv streaming write test was spending large amounts
of time in fi_log_enabled.
This PR adds a configury option for the GNI driver to completely disable
GNIX_WARN, etc macros, leaving only GNIX_FATAL.
Adding this option improves the 8-byte streaming send test by about 10%
on KNL:
Reverting this PR because it turns out our GNIX debug, etc. macros and their usage wasn't comporting well with the original intent. This was kind of a heavy handed workaround.
except for GNI_FATAL.
It turns out KNL has a horrible time trying to decide which way to go when it hits a branch. Vtune showed that a simple fi_send/fi_recv streaming write test was spending large amounts of time in fi_log_enabled.
This PR adds a configury option for the GNI driver to completely disable GNIX_WARN, etc macros, leaving only GNIX_FATAL.
Adding this option improves the 8-byte streaming send test by about 10% on KNL:
(before) 215729.57 msgs/sec (after) 236358.98 msgs/sec
User has to add an option to the configury line: --disable-gni-logging
By default logging is enabled.
Signed-off-by: Howard Pritchard hppritcha@gmail.com