File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -214,19 +214,19 @@ Result<std::vector<std::string>> XNNWeightsCache::finalize_for_runtime() {
214214 }
215215
216216#ifndef _WIN32
217- // Schedule async flush for newly added regions only.
218- // MS_ASYNC returns immediately; OS flushes in the background.
217+ // Synchronous flush for newly added regions. MS_SYNC blocks until the
218+ // dirty pages are written to disk and marked clean
219219 if (mmap_regions_.size () > mmap_regions_synced_) {
220220 size_t new_count = mmap_regions_.size () - mmap_regions_synced_;
221221 for (size_t i = mmap_regions_synced_; i < mmap_regions_.size (); ++i) {
222222 if (mmap_regions_[i].addr != nullptr ) {
223- msync (mmap_regions_[i].addr , mmap_regions_[i].size , MS_ASYNC );
223+ msync (mmap_regions_[i].addr , mmap_regions_[i].size , MS_SYNC );
224224 }
225225 }
226226 mmap_regions_synced_ = mmap_regions_.size ();
227227 ET_LOG (
228228 Info,
229- " Scheduled async flush: %zu new regions (%zu total), %zu MB packed weights" ,
229+ " Synced %zu new regions (%zu total), %zu MB packed weights" ,
230230 new_count,
231231 mmap_regions_.size (),
232232 packed_file_used_ / (1024 * 1024 ));
You can’t perform that action at this time.
0 commit comments