aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pack_pack.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/pack_pack.go b/pack_pack.go
index 75cd282e..fb2d965e 100644
--- a/pack_pack.go
+++ b/pack_pack.go
@@ -533,6 +533,18 @@ func openPackFile(absPath, rel string) (*packFile, error) {
_ = syscall.Munmap(region)
return nil, err
}
+
+ err = syscall.Madvise(region, syscall.MADV_RANDOM)
+ if err != nil {
+ _ = syscall.Munmap(region)
+ return nil, err
+ }
+ err = syscall.Madvise(region, syscall.MADV_WILLNEED)
+ if err != nil {
+ _ = syscall.Munmap(region)
+ return nil, err
+ }
+
return &packFile{
relPath: rel,
size: stat.Size(),