Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 Jul 2011 01:06:48 +0200
From:      Robert Millan <rmh@debian.org>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        freebsd-hackers@freebsd.org, freebsd-emulation@freebsd.org
Subject:   Re: kern/159281: [PATCH] Linux-like /proc/swaps for linprocfs
Message-ID:  <CAOfDtXOJjOoQA8yNFPVdQRqCqr-Vc5nscMbgOLGLMuvTP9mp1w@mail.gmail.com>

next in thread | raw e-mail | index | archive | help
--90e6ba613be8131d7804a93d56e9
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

Hi Kostik,

2011/7/29 Kostik Belousov <kostikbel@gmail.com>:
> The patch is too hackish, IMHO.
> I would prefer to have an exported kernel function that fills xswdev
> by index, used both by vm_swap_info and linprocfs.
>
> For the device name, you would use sw_vp->v_rdev->si_name, see, for
> instance, the following fragment in the swapoff_all():
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0if (vn_isdisk(sp->=
sw_vp, NULL))
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0devname =3D sp->sw_vp->v_rdev->si_name;
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0else
> =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0devname =3D "[file]";
> This could be another function that returns swap information by index.

Here's a patch with the changes you requested.

--=20
Robert Millan

--90e6ba613be8131d7804a93d56e9
Content-Type: text/x-patch; charset=US-ASCII; name="006_proc_swaps.diff"
Content-Disposition: attachment; filename="006_proc_swaps.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_gqprh89i1

LS0tIGEvc3lzL2NvbXBhdC9saW5wcm9jZnMvbGlucHJvY2ZzLmMKKysrIGIvc3lzL2NvbXBhdC9s
aW5wcm9jZnMvbGlucHJvY2ZzLmMKQEAgLTUwMiw2ICs1MDIsMzIgQEAKIAlyZXR1cm4gKDApOwog
fQogCitzdGF0aWMgaW50CitsaW5wcm9jZnNfZG9zd2FwcyhQRlNfRklMTF9BUkdTKQoreworCXN0
cnVjdCB4c3dkZXYgeHN3OworCWludCBuOworCWxvbmcgbG9uZyB0b3RhbCwgdXNlZDsKKwljaGFy
IGRldm5hbWVbU1BFQ05BTUVMRU4gKyAxXTsKKworCXNidWZfcHJpbnRmKHNiLCAiRmlsZW5hbWVc
dFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIpOworCisJZm9yIChuID0gMDsg
OyBuKyspIHsKKwkJaWYgKHN3YXBfaW5mbyhuLCAmeHN3KSAhPSAwKQorCQkJYnJlYWs7CisKKwkJ
aWYgKHN3YXBfZGV2bmFtZShuLCBkZXZuYW1lLCBzaXplb2YoZGV2bmFtZSkpICE9IDApCisJCQli
cmVhazsKKworCQl0b3RhbCA9IChsb25nIGxvbmcpeHN3Lnhzd19uYmxrcyAqIFBBR0VfU0laRSAv
IDEwMjQ7CisJCXVzZWQgID0gKGxvbmcgbG9uZyl4c3cueHN3X3VzZWQgKiBQQUdFX1NJWkUgLyAx
MDI0OworCisJCXNidWZfcHJpbnRmKHNiLCAiL2Rldi8lLTM0cyB1bmtub3duXHRcdCVsbGRcdCVs
bGRcdC0xXG4iLCBkZXZuYW1lLCB0b3RhbCwgdXNlZCk7CisJfQorCisJcmV0dXJuICgwKTsKK30K
KwogLyoKICAqIEZpbGxlciBmdW5jdGlvbiBmb3IgcHJvYy91cHRpbWUKICAqLwpAQCAtMTQ5MCw2
ICsxNTE2LDggQEAKIAkgICAgTlVMTCwgTlVMTCwgTlVMTCwgMCk7CiAJcGZzX2NyZWF0ZV9maWxl
KHJvb3QsICJzdGF0IiwgJmxpbnByb2Nmc19kb3N0YXQsCiAJICAgIE5VTEwsIE5VTEwsIE5VTEws
IFBGU19SRCk7CisJcGZzX2NyZWF0ZV9maWxlKHJvb3QsICJzd2FwcyIsICZsaW5wcm9jZnNfZG9z
d2FwcywKKwkgICAgTlVMTCwgTlVMTCwgTlVMTCwgUEZTX1JEKTsKIAlwZnNfY3JlYXRlX2ZpbGUo
cm9vdCwgInVwdGltZSIsICZsaW5wcm9jZnNfZG91cHRpbWUsCiAJICAgIE5VTEwsIE5VTEwsIE5V
TEwsIFBGU19SRCk7CiAJcGZzX2NyZWF0ZV9maWxlKHJvb3QsICJ2ZXJzaW9uIiwgJmxpbnByb2Nm
c19kb3ZlcnNpb24sCi0tLSBhL3N5cy92bS9zd2FwX3BhZ2VyLmMKKysrIGIvc3lzL3ZtL3N3YXBf
cGFnZXIuYwpAQCAtMjMxNSw2ICsyMzE1LDMxIEBACiAJcmV0dXJuICgwKTsKIH0KIAoraW50Citz
d2FwX2Rldm5hbWUoaW50IG5hbWUsIGNoYXIgKmRldm5hbWUsIHNpemVfdCBsZW4pCit7CisJaW50
CW47CisJc3RydWN0IHN3ZGV2dCAqc3A7CisJY2hhcgkqdG1wX2Rldm5hbWU7CisKKwluID0gMDsK
KwltdHhfbG9jaygmc3dfZGV2X210eCk7CisJVEFJTFFfRk9SRUFDSChzcCwgJnN3dGFpbHEsIHN3
X2xpc3QpIHsKKwkJaWYgKG4gPT0gbmFtZSkgeworCQkJaWYgKHZuX2lzZGlzayhzcC0+c3dfdnAs
IE5VTEwpKQorCQkJCXRtcF9kZXZuYW1lID0gc3AtPnN3X3ZwLT52X3JkZXYtPnNpX25hbWU7CisJ
CQllbHNlCisJCQkJdG1wX2Rldm5hbWUgPSAiW2ZpbGVdIjsKKwkJCXN0cm5jcHkoZGV2bmFtZSwg
dG1wX2Rldm5hbWUsIGxlbik7CisJCQltdHhfdW5sb2NrKCZzd19kZXZfbXR4KTsKKwkJCXJldHVy
biAoMCk7CisJCX0KKwkJbisrOworCX0KKwltdHhfdW5sb2NrKCZzd19kZXZfbXR4KTsKKwlyZXR1
cm4gKEVOT0VOVCk7Cit9CisKIHZvaWQKIHN3YXBvZmZfYWxsKHZvaWQpCiB7CkBAIC0yMzY1LDMw
ICsyMzkwLDI0IEBACiAJbXR4X3VubG9jaygmc3dfZGV2X210eCk7CiB9CiAKLXN0YXRpYyBpbnQK
LXN5c2N0bF92bV9zd2FwX2luZm8oU1lTQ1RMX0hBTkRMRVJfQVJHUykKK2ludAorc3dhcF9pbmZv
KGludCBuYW1lLCBzdHJ1Y3QgeHN3ZGV2ICp4cykKIHsKLQlpbnQJKm5hbWUgPSAoaW50ICopYXJn
MTsKIAlpbnQJZXJyb3IsIG47Ci0Jc3RydWN0IHhzd2RldiB4czsKIAlzdHJ1Y3Qgc3dkZXZ0ICpz
cDsKIAotCWlmIChhcmcyICE9IDEpIC8qIG5hbWUgbGVuZ3RoICovCi0JCXJldHVybiAoRUlOVkFM
KTsKLQogCW4gPSAwOwogCW10eF9sb2NrKCZzd19kZXZfbXR4KTsKIAlUQUlMUV9GT1JFQUNIKHNw
LCAmc3d0YWlscSwgc3dfbGlzdCkgewotCQlpZiAobiA9PSAqbmFtZSkgeworCQlpZiAobiA9PSBu
YW1lKSB7CiAJCQltdHhfdW5sb2NrKCZzd19kZXZfbXR4KTsKLQkJCXhzLnhzd192ZXJzaW9uID0g
WFNXREVWX1ZFUlNJT047Ci0JCQl4cy54c3dfZGV2ID0gc3AtPnN3X2RldjsKLQkJCXhzLnhzd19m
bGFncyA9IHNwLT5zd19mbGFnczsKLQkJCXhzLnhzd19uYmxrcyA9IHNwLT5zd19uYmxrczsKLQkJ
CXhzLnhzd191c2VkID0gc3AtPnN3X3VzZWQ7CisJCQl4cy0+eHN3X3ZlcnNpb24gPSBYU1dERVZf
VkVSU0lPTjsKKwkJCXhzLT54c3dfZGV2ID0gc3AtPnN3X2RldjsKKwkJCXhzLT54c3dfZmxhZ3Mg
PSBzcC0+c3dfZmxhZ3M7CisJCQl4cy0+eHN3X25ibGtzID0gc3AtPnN3X25ibGtzOworCQkJeHMt
Pnhzd191c2VkID0gc3AtPnN3X3VzZWQ7CiAKLQkJCWVycm9yID0gU1lTQ1RMX09VVChyZXEsICZ4
cywgc2l6ZW9mKHhzKSk7Ci0JCQlyZXR1cm4gKGVycm9yKTsKKwkJCXJldHVybiAoMCk7CiAJCX0K
IAkJbisrOwogCX0KQEAgLTIzOTYsNiArMjQxNSwyNCBAQAogCXJldHVybiAoRU5PRU5UKTsKIH0K
IAorc3RhdGljIGludAorc3lzY3RsX3ZtX3N3YXBfaW5mbyhTWVNDVExfSEFORExFUl9BUkdTKQor
eworCWludAkqbmFtZSA9IChpbnQgKilhcmcxOworCWludAllcnJvcjsKKwlzdHJ1Y3QgeHN3ZGV2
IHhzOworCisJaWYgKGFyZzIgIT0gMSkgLyogbmFtZSBsZW5ndGggKi8KKwkJcmV0dXJuIChFSU5W
QUwpOworCisJZXJyb3IgPSBzd2FwX2luZm8oKm5hbWUsICZ4cyk7CisJaWYgKGVycm9yICE9IDAp
CisJCXJldHVybiAoZXJyb3IpOworCisJZXJyb3IgPSBTWVNDVExfT1VUKHJlcSwgJnhzLCBzaXpl
b2YoeHMpKTsKKwlyZXR1cm4gKGVycm9yKTsKK30KKwogU1lTQ1RMX0lOVChfdm0sIE9JRF9BVVRP
LCBuc3dhcGRldiwgQ1RMRkxBR19SRCwgJm5zd2FwZGV2LCAwLAogICAgICJOdW1iZXIgb2Ygc3dh
cCBkZXZpY2VzIik7CiBTWVNDVExfTk9ERShfdm0sIE9JRF9BVVRPLCBzd2FwX2luZm8sIENUTEZM
QUdfUkQsIHN5c2N0bF92bV9zd2FwX2luZm8sCi0tLSBhL3N5cy92bS9zd2FwX3BhZ2VyLmgKKysr
IGIvc3lzL3ZtL3N3YXBfcGFnZXIuaApAQCAtODMsNiArODMsOCBAQAogaW50IHN3YXBfcGFnZXJf
cmVzZXJ2ZSh2bV9vYmplY3RfdCwgdm1fcGluZGV4X3QsIHZtX3NpemVfdCk7CiB2b2lkIHN3YXBf
cGFnZXJfc3RhdHVzKGludCAqdG90YWwsIGludCAqdXNlZCk7CiB2b2lkIHN3YXBvZmZfYWxsKHZv
aWQpOworaW50IHN3YXBfaW5mbyhpbnQgbmFtZSwgc3RydWN0IHhzd2RldiAqeHMpOworaW50IHN3
YXBfZGV2bmFtZShpbnQgbmFtZSwgY2hhciAqZGV2bmFtZSwgc2l6ZV90IGxlbik7CiAKICNlbmRp
ZgkJCQkvKiBfS0VSTkVMICovCiAjZW5kaWYJCQkJLyogX1ZNX1NXQVBfUEFHRVJfSF8gKi8K
--90e6ba613be8131d7804a93d56e9--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOfDtXOJjOoQA8yNFPVdQRqCqr-Vc5nscMbgOLGLMuvTP9mp1w>