Re: [PATCH v2 3/5] docs: ABI: add /sys/kernel/error_report/ documentation
From: Greg KH <gregkh@linuxfoundation.org>
Date: 2021-01-15 15:46:17
Also in:
lkml
On Fri, Jan 15, 2021 at 04:26:21PM +0100, Alexander Potapenko wrote:
quoted
sysfs is "one value per file"What about existing interfaces that even export binary blobs through sysfs (e.g. /sys/firmware, /sys/boot_params)? What qualifies as a "value" in that case?
binary files are fine as the kernel is just a "pipe" through to the hardware / firmware. No translation or parsing happens in the kernel. And that's NOT trace events :)
quoted
please put something like this in tracefs, as there is no such rules there. Or debugfs, but please, not sysfs.Does tracefs have anything similar to sysfs_notify() or any other way to implement a poll() handler?
Don't know, look and see!
Our main goal is to let users wait on poll(), so that they don't have to check the file for new contents every now and then. Is it possible with tracefs or debugfs?
debugfs, yes, you can do whatever you want. tracefs probably has this, otherwise how would trace tools work? :)
Also, for our goal debugfs isn't a particularly good fit, as Android kernels do not enable debugfs.
Do you care about Android kernels? If so, yes, debugfs is not good. And have you asked the Android kernel team about this?
Not sure about tracefs, they seem to have it, need to check.
It should be there.
Do you think it is viable to keep /sys/kernel/error_report/report_count in sysfs and use it for notifications, but move last_report somewhere else?
No, not at all, please keep it out of sysfs.
(I'd probably prefer procfs, but it could be tracefs as well, if you find that better).
If it does not have to do with processes, it does not belong in procfs. Again, this seems to fit in with tracing, so please use tracefs.
This way it will still be possible to easily notify userspace about new reports, but the report itself won't have any atomicity guarantees. Users will have to check the report count to ensure it didn't change under their feet.
Again, use a file in tracefs. thanks, greg k-h