diff --git a/unix/linux/types.go b/unix/linux/types.go index 389eed4bd5..f5a6ae9e7b 100644 --- a/unix/linux/types.go +++ b/unix/linux/types.go @@ -461,6 +461,20 @@ struct my_can_bittiming_const { struct riscv_hwprobe {}; #endif + +// copied from /usr/include/uapi/linux/mman.h +struct cachestat_range { + __u64 off; + __u64 len; +}; + +struct cachestat { + __u64 nr_cache; + __u64 nr_dirty; + __u64 nr_writeback; + __u64 nr_evicted; + __u64 nr_recently_evicted; +}; */ import "C" @@ -5813,3 +5827,6 @@ const ( type SchedAttr C.struct_sched_attr const SizeofSchedAttr = C.sizeof_struct_sched_attr + +type Cachestat_t C.struct_cachestat +type CachestatRange C.struct_cachestat_range diff --git a/unix/syscall_linux.go b/unix/syscall_linux.go index fb4e50224c..6b8a4ad69c 100644 --- a/unix/syscall_linux.go +++ b/unix/syscall_linux.go @@ -2482,3 +2482,5 @@ func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) { } return attr, nil } + +//sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) diff --git a/unix/zsyscall_linux.go b/unix/zsyscall_linux.go index 1ff3aec74c..863d7dde20 100644 --- a/unix/zsyscall_linux.go +++ b/unix/zsyscall_linux.go @@ -2195,3 +2195,13 @@ func schedGetattr(pid int, attr *SchedAttr, size uint, flags uint) (err error) { } return } + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + +func Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) { + _, _, e1 := Syscall6(SYS_CACHESTAT, uintptr(fd), uintptr(unsafe.Pointer(crange)), uintptr(unsafe.Pointer(cstat)), uintptr(flags), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} diff --git a/unix/ztypes_linux.go b/unix/ztypes_linux.go index 18aa70b426..cdba4c77df 100644 --- a/unix/ztypes_linux.go +++ b/unix/ztypes_linux.go @@ -5883,3 +5883,15 @@ type SchedAttr struct { } const SizeofSchedAttr = 0x38 + +type Cachestat_t struct { + Cache uint64 + Dirty uint64 + Writeback uint64 + Evicted uint64 + Recently_evicted uint64 +} +type CachestatRange struct { + Off uint64 + Len uint64 +}