We do not call fflush() on logfile in log_record() when PBS_LOG_ASYNC is set. By doing this we have seen remarkable improvement in performance which helps in improving the job cycle performance. However as you said there is a possibility of intermix of log messages due to this in case of both parent and children write to the same log file. One solution for this would be to append process ID to each and every log message with proper locking mechanism which is something similar to the way logging is done in TPP. Since fflush() automatically locks the stream I think this mechanism is fine. Please share your thoughts on the same.
As you suggested we are actually planning to move all configuration which is required to achieve the job cycle performance to qmgr and make the corresponding changes in EDD accordingly.