No, it is not a strict subset. It is not even a subset.
Here is a demonstration, on a desktop PC running a major GNU/Linux distribution without any customisations that should affect the result, that there is at least one datum present in sysfs that is not present in procfs:
$ grep -ir `cat /sys/block/sda/device/model | cut -f1 -d' '` /sys 2>/dev/null /sys/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/model:SanDisk [...] Binary file /sys/devices/pci0000:00/0000:00:1f.2/ata3/host2/target2:0:0/2:0:0:0/vpd_pg83 matches $ grep -ir `cat /sys/block/sda/device/model | cut -f1 -d' '` /proc 2>/dev/null Binary file /proc/26887/task/26887/cmdline matches Binary file /proc/26887/cmdline matches
This also demonstrates, incidentally, that on that PC at least, the set of all data exposed by procfs is not a subset of the data exposed by sysfs.
/sys/power/statehas no equivalent under/proc. Don't know what the rule is for what stuff goes where./sys/power/statehas no equivalent under/proc". You're probably right.procfsis sufficiently arcane to me that I'm not currently confident drawing that sort of conclusion myself. So, it might be pretty clear to you, but not to me. And therefore maybe not so clear to other people at a similar level of understanding to me. Hence the value in posting the question here - the answers might help me and them alike :)sysfsexposes a strict subset of the information exposed byprocfsrequires either exhaustive knowledge ofsysfs& substantial knowledge ofprocfs(the docs aren't exhaustive), or else knowledge of at least one datum insysfsdefinitely not present inprocfs. Tom Hunt suggested/sys/power/stateas a possible example of the latter. Another (true on my system) is/sys/block/sda/device/model. I'll expand this info in an answer.