Re: [PATCH] selftests/mm: read memory information without popen

warren.xiong <[email protected]> Tue, 4 Aug 2026 20:07:47 +0800
Newsgroups org.kernel.vger.linux-kselftest,org.kernel.vger.linux-kernel,org.kvack.linux-mm
Message-ID <[email protected]>
CgoKLS0tLS0tLS0tLS0tLS0KCgoKd2FycmVuLnhpb25nCgoKCj5PbiA4LzMvMjYgMDM6MzAsIFdh
cnJlbiBYaW9uZyB3cm90ZToKCgoKPj4gcmVhZF9tZW1vcnlfaW5mbygpIGludm9rZXMgdHdvIHNo
ZWxsIHBpcGVsaW5lcyB0byBvYnRhaW4gTWVtRnJlZSBhbmQKCgoKPj4gSHVnZXBhZ2VzaXplIGZy
b20gL3Byb2MvbWVtaW5mby4gSXQgZG9lcyBub3QgY2hlY2sgd2hldGhlciBwb3BlbigpCgoKCj4+
IHJldHVybnMgTlVMTCBiZWZvcmUgcGFzc2luZyB0aGUgcmVzdWx0IHRvIGZnZXRzKCksIGFuZCBp
dCBkb2VzIG5vdCBjYWxsCgoKCj4+IHBjbG9zZSgpIHdoZW4gZmdldHMoKSBmYWlscy4KCgoKPj4g
CgoKCj4+IE9wZW4gL3Byb2MvbWVtaW5mbyBkaXJlY3RseSBhbmQgb2J0YWluIGJvdGggdmFsdWVz
IGluIGEgc2luZ2xlIHBhc3MuCgoKCj4+IFRoaXMgcmVtb3ZlcyB0aGUgdW5jaGVja2VkIE5VTEwg
cGF0aCwgY2xvc2VzIHRoZSBmaWxlIG9uIGFsbCBwYXRocywgYW5kCgoKCj4+IGF2b2lkcyBkZXBl
bmRlbmNpZXMgb24gZXh0ZXJuYWwgY29tbWFuZHMuCgoKCj4+IAoKCgo+PiBUaGUgY29tcGFjdGlv
biB0ZXN0IGNvbnRpbnVlcyB0byBwYXNzIGFmdGVyIHRoaXMgY2hhbmdlLgoKCgo+PiAKCgoKPj4g
U2lnbmVkLW9mZi1ieTogV2FycmVuIFhpb25nIDx3YXJyZW4ueGlvbmdAdWdyZWVuLmNvbT4KCgoK
Pj4gLS0tCgoKCj4+wqAgdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMvbW0vY29tcGFjdGlvbl90ZXN0
LmMgfCA0MyArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tCgoKCj4+wqAgMSBmaWxlIGNoYW5n
ZWQsIDI3IGluc2VydGlvbnMoKyksIDE2IGRlbGV0aW9ucygtKQoKCgo+PiAKCgoKPj4gZGlmZiAt
LWdpdCBhL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL21tL2NvbXBhY3Rpb25fdGVzdC5jIGIvdG9v
bHMvdGVzdGluZy9zZWxmdGVzdHMvbW0vY29tcGFjdGlvbl90ZXN0LmMKCgoKPj4gaW5kZXggNWI1
ODI1OC4uMGRmMjAwMCAxMDA2NDQKCgoKPj4gLS0tIGEvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv
bW0vY29tcGFjdGlvbl90ZXN0LmMKCgoKPj4gKysrIGIvdG9vbHMvdGVzdGluZy9zZWxmdGVzdHMv
bW0vY29tcGFjdGlvbl90ZXN0LmMKCgoKPj4gQEAgLTcsNiArNyw3IEBACgoKCj4+wqDCoCAqIGFs
bG9jYXRlZC4KCgoKPj7CoMKgICovCgoKCj4+wqAgCgoKCj4+ICsjaW5jbHVkZSA8c3RkYm9vbC5o
PgoKCgo+PsKgICNpbmNsdWRlIDxzdGRpby5oPgoKCgo+PsKgICNpbmNsdWRlIDxzdGRsaWIuaD4K
CgoKPj7CoCAjaW5jbHVkZSA8c3lzL21tYW4uaD4KCgoKPj4gQEAgLTI5LDMwICszMCw0MCBAQCBz
dHJ1Y3QgbWFwX2xpc3QgewoKCgo+PsKgIAoKCgo+PsKgIGludCByZWFkX21lbW9yeV9pbmZvKHVu
c2lnbmVkIGxvbmcgKm1lbWZyZWUsIHVuc2lnbmVkIGxvbmcgKmh1Z2VwYWdlc2l6ZSkKCgoKPj7C
oCB7CgoKCj4KCgoKPkxvb2tzIG11Y2ggYmV0dGVyIGluZGVlZC4KCgoKPgoKCgo+PiAtCWNoYXLC
oCBidWZmZXJbMjU2XSA9IHswfTsKCgoKPj4gLQljaGFyICpjbWQgPSAiY2F0IC9wcm9jL21lbWlu
Zm8gfCBncmVwIC1pIG1lbWZyZWUgfCBncmVwIC1vICdbMC05XSonIjsKCgoKPj4gLQlGSUxFICpj
bWRmaWxlID0gcG9wZW4oY21kLCAiciIpOwoKCgo+PiArCWNoYXIgYnVmZmVyWzI1Nl07CgoKCj4+
ICsJYm9vbCBtZW1mcmVlX2ZvdW5kID0gZmFsc2U7CgoKCj4+ICsJYm9vbCBodWdlcGFnZXNpemVf
Zm91bmQgPSBmYWxzZTsKCgoKPj4gKwlGSUxFICpmaWxlOwoKCgo+PiArCWludCByZXQgPSAtMTsK
CgoKPj7CoCAKCgoKPj4gLQlpZiAoIShmZ2V0cyhidWZmZXIsIHNpemVvZihidWZmZXIpLCBjbWRm
aWxlKSkpIHsKCgoKPj4gLQkJa3NmdF9wcmludF9tc2coIkZhaWxlZCB0byByZWFkIG1lbWluZm86
ICVzXG4iLCBzdHJlcnJvcihlcnJubykpOwoKCgo+PiArCWZpbGUgPSBmb3BlbigiL3Byb2MvbWVt
aW5mbyIsICJyIik7CgoKCj4+ICsJaWYgKCFmaWxlKSB7CgoKCj4+ICsJCWtzZnRfcHJpbnRfbXNn
KCJGYWlsZWQgdG8gb3BlbiAvcHJvYy9tZW1pbmZvOiAlc1xuIiwKCgoKPj4gKwkJCcKgwqDCoMKg
wqDCoCBzdHJlcnJvcihlcnJubykpOwoKCgo+PsKgIAkJcmV0dXJuIC0xOwoKCgo+PsKgIAl9CgoK
Cj4+wqAgCgoKCj4+IC0JcGNsb3NlKGNtZGZpbGUpOwoKCgo+PiArCXdoaWxlIChmZ2V0cyhidWZm
ZXIsIHNpemVvZihidWZmZXIpLCBmaWxlKSkgewoKCgo+PiArCQlpZiAoc3NjYW5mKGJ1ZmZlciwg
Ik1lbUZyZWU6ICVsdSBrQiIsIG1lbWZyZWUpID09IDEpCgoKCj4+ICsJCQltZW1mcmVlX2ZvdW5k
ID0gdHJ1ZTsKCgoKPj4gKwkJZWxzZSBpZiAoc3NjYW5mKGJ1ZmZlciwgIkh1Z2VwYWdlc2l6ZTog
JWx1IGtCIiwKCgoKPj4gKwkJCQlodWdlcGFnZXNpemUpID09IDEpCgoKCj4+ICsJCQlodWdlcGFn
ZXNpemVfZm91bmQgPSB0cnVlOwoKCgo+SW5zdGVhZCBvZiB0aGVzZSBib29scyB5b3UgY291bGQg
anVzdCBoYXZlIGEgaGl0LWNvdW50LgoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LgoKQWdyZWVkLCBh
IGhpdCBjb3VudCBpcyBzdWZmaWNpZW50IGhlcmUgYW5kIG1ha2VzIHRoZSBjb2RlIHNpbXBsZXIu
ICBJCmhhdmUgaW5jb3Jwb3JhdGVkIHRoaXMgY2hhbmdlIGFuZCB3aWxsIHNlbmQgdjIgc2hvcnRs
eS4KClRoYW5rcywKV2FycmVuCgoKCj4KCgoKPkxpa2UgdGhlIGZvbGxvd2luZyBvbiB0b3A6CgoK
Cj4KCgoKPmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3NlbGZ0ZXN0cy9tbS9jb21wYWN0aW9u
X3Rlc3QuYyBiL3Rvb2xzL3Rlc3Rpbmcvc2VsZnRlc3RzL21tL2NvbXBhY3Rpb25fdGVzdC5jCgoK
Cj5pbmRleCAwZGYyMDAwZjRhMmIxLi4zMGQ0YWNlNzE1NWFlIDEwMDY0NAoKCgo+LS0tIGEvdG9v
bHMvdGVzdGluZy9zZWxmdGVzdHMvbW0vY29tcGFjdGlvbl90ZXN0LmMKCgoKPisrKyBiL3Rvb2xz
L3Rlc3Rpbmcvc2VsZnRlc3RzL21tL2NvbXBhY3Rpb25fdGVzdC5jCgoKCj5AQCAtNyw3ICs3LDYg
QEAKCgoKPsKgICogYWxsb2NhdGVkLgoKCgo+wqAgKi8KCgoKPgoKCgo+LSNpbmNsdWRlIDxzdGRi
b29sLmg+CgoKCj4gI2luY2x1ZGUgPHN0ZGlvLmg+CgoKCj4gI2luY2x1ZGUgPHN0ZGxpYi5oPgoK
Cgo+ICNpbmNsdWRlIDxzeXMvbW1hbi5oPgoKCgo+QEAgLTMxLDggKzMwLDcgQEAgc3RydWN0IG1h
cF9saXN0IHsKCgoKPiBpbnQgcmVhZF9tZW1vcnlfaW5mbyh1bnNpZ25lZCBsb25nICptZW1mcmVl
LCB1bnNpZ25lZCBsb25nICpodWdlcGFnZXNpemUpCgoKCj4gewoKCgo+wqDCoMKgwqDCoMKgwqAg
Y2hhciBidWZmZXJbMjU2XTsKCgoKPi3CoMKgwqDCoMKgwqAgYm9vbCBtZW1mcmVlX2ZvdW5kID0g
ZmFsc2U7CgoKCj4twqDCoMKgwqDCoMKgIGJvb2wgaHVnZXBhZ2VzaXplX2ZvdW5kID0gZmFsc2U7
CgoKCj4rwqDCoMKgwqDCoMKgIGludCBmb3VuZCA9IDA7CgoKCj7CoMKgwqDCoMKgwqDCoCBGSUxF
ICpmaWxlOwoKCgo+wqDCoMKgwqDCoMKgwqAgaW50IHJldCA9IC0xOwoKCgo+CgoKCj5AQCAtNDMs
MjQgKzQxLDE5IEBAIGludCByZWFkX21lbW9yeV9pbmZvKHVuc2lnbmVkIGxvbmcgKm1lbWZyZWUs
IHVuc2lnbmVkIGxvbmcgKmh1Z2VwYWdlc2l6ZSkKCgoKPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoCByZXR1cm4gLTE7CgoKCj7CoMKgwqDCoMKgwqDCoCB9CgoKCj4KCgoKPi3CoMKgwqDC
oMKgwqAgd2hpbGUgKGZnZXRzKGJ1ZmZlciwgc2l6ZW9mKGJ1ZmZlciksIGZpbGUpKSB7CgoKCj4t
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoc3NjYW5mKGJ1ZmZlciwgIk1lbUZyZWU6
ICVsdSBrQiIsIG1lbWZyZWUpID09IDEpCgoKCj4twqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqAgbWVtZnJlZV9mb3VuZCA9IHRydWU7CgoKCj4twqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBlbHNlIGlmIChzc2NhbmYoYnVmZmVyLCAiSHVnZXBhZ2VzaXplOiAl
bHUga0IiLAoKCgo+LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoCBodWdlcGFnZXNpemUpID09IDEpCgoKCj4twqDCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaHVnZXBhZ2VzaXplX2ZvdW5kID0gdHJ1ZTsK
CgoKPi0KCgoKPi3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIChtZW1mcmVlX2ZvdW5k
ICYmIGh1Z2VwYWdlc2l6ZV9mb3VuZCkgewoKCgo+LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgIHJldCA9IDA7CgoKCj4twqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7CgoKCj4twqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCB9CgoKCj4rwqDCoMKgwqDCoMKgIHdoaWxlIChmZ2V0cyhidWZmZXIsIHNpemVvZihidWZm
ZXIpLCBmaWxlKSAmJiBmb3VuZCAhPSAyKSB7CgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoCBpZiAoc3NjYW5mKGJ1ZmZlciwgIk1lbUZyZWU6ICVsdSBrQiIsIG1lbWZyZWUpID09IDEg
fHwKCgoKPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3NjYW5mKGJ1ZmZl
ciwgIkh1Z2VwYWdlc2l6ZTogJWx1IGtCIiwgaHVnZXBhZ2VzaXplKSA9PSAxKQoKCgo+K8KgwqDC
oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZvdW5kKys7CgoKCj7CoMKg
wqDCoMKgwqDCoCB9CgoKCj4KCgoKPsKgwqDCoMKgwqDCoMKgIGlmIChmZXJyb3IoZmlsZSkpCgoK
Cj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAga3NmdF9wcmludF9tc2coIkZhaWxlZCB0
byByZWFkIC9wcm9jL21lbWluZm86ICVzXG4iLAoKCgo+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg
wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cmVycm9yKGVycm5vKSk7CgoK
Cj4twqDCoMKgwqDCoMKgIGVsc2UgaWYgKHJldCkKCgoKPivCoMKgwqDCoMKgwqAgZWxzZSBpZiAo
Zm91bmQgIT0gMikKCgoKPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBrc2Z0X3ByaW50
X21zZygiRmFpbGVkIHRvIHBhcnNlIC9wcm9jL21lbWluZm9cbiIpOwoKCgo+K8KgwqDCoMKgwqDC
oCBlbHNlCgoKCj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXQgPSAwOwoKCgo+CgoK
Cj7CoMKgwqDCoMKgwqDCoCBmY2xvc2UoZmlsZSk7CgoKCj7CoMKgwqDCoMKgwqDCoCByZXR1cm4g
cmV0OwoKCgo+CgoKCj4KCgoKPi0tIAoKCgo+Q2hlZXJzLAoKCgo+CgoKCj5EYXZpZAoKCgo+CgoK