MCPcopy Create free account
hub / github.com/F-Stack/f-stack / sysctl_swap_fragmentation

Function sysctl_swap_fragmentation

freebsd/vm/swap_pager.c:907–932  ·  view source on GitHub ↗

* SYSCTL_SWAP_FRAGMENTATION() - produce raw swap space stats */

Source from the content-addressed store, hash-verified

905 * SYSCTL_SWAP_FRAGMENTATION() - produce raw swap space stats
906 */
907static int
908sysctl_swap_fragmentation(SYSCTL_HANDLER_ARGS)
909{
910 struct sbuf sbuf;
911 struct swdevt *sp;
912 const char *devname;
913 int error;
914
915 error = sysctl_wire_old_buffer(req, 0);
916 if (error != 0)
917 return (error);
918 sbuf_new_for_sysctl(&sbuf, NULL, 128, req);
919 mtx_lock(&sw_dev_mtx);
920 TAILQ_FOREACH(sp, &swtailq, sw_list) {
921 if (vn_isdisk(sp->sw_vp))
922 devname = devtoname(sp->sw_vp->v_rdev);
923 else
924 devname = "[file]";
925 sbuf_printf(&sbuf, "\nFree space on device %s:\n", devname);
926 blist_stats(sp->sw_blist, &sbuf);
927 }
928 mtx_unlock(&sw_dev_mtx);
929 error = sbuf_finish(&sbuf);
930 sbuf_delete(&sbuf);
931 return (error);
932}
933
934/*
935 * SWAP_PAGER_FREESPACE() - frees swap blocks associated with a page

Callers

nothing calls this directly

Calls 10

sysctl_wire_old_bufferFunction · 0.85
sbuf_new_for_sysctlFunction · 0.85
vn_isdiskFunction · 0.85
sbuf_printfFunction · 0.85
blist_statsFunction · 0.85
sbuf_finishFunction · 0.85
sbuf_deleteFunction · 0.85
mtx_lockFunction · 0.50
devtonameFunction · 0.50
mtx_unlockFunction · 0.50

Tested by

no test coverage detected