If configuration writes are serialized through a daemon, why not use the same daemon for configuration reads? The daemon could parse the text-based configuration files once and then publish the parsed settings using shared memory (protected by a read/write lock, since reads will outnumber writes)? The daemon could update the published settings in shared memory and slowly write them out to disk.