On Mon, Jun 23, 2014 at 12:18:51PM -0400, Ilia Mirkin wrote: > On Mon, Jun 23, 2014 at 12:07 PM, Greg KH <greg@xxxxxxxxx> wrote: > > On Sun, Jun 22, 2014 at 10:12:14PM -0400, Ilia Mirkin wrote: > >> On Sat, Jun 21, 2014 at 3:45 PM, Greg KH <greg@xxxxxxxxx> wrote: > >> > On Sat, Jun 21, 2014 at 02:22:59PM -0400, Ilia Mirkin wrote: > >> >> On Sat, Jun 21, 2014 at 2:02 PM, Pavel Machek <pavel@xxxxxx> wrote: > >> >> > Hi! > >> >> > > >> >> > AFAICT, pstate file will contain something like > >> >> > > >> >> > 07: core 100 MHz memory 123 MHz * > >> >> > 08: core 100-200 MHz memory 123 MHz > >> >> > > >> >> > ...which does not look exactly like one-value-per-file, and I'm pretty > >> >> > sure userspace will get it wrong if it tries to parse it. Plus, I > >> >> > don't see required documentation in Documentation/ABI. > >> >> > > >> >> > Should we disable it for now, so that userspace does not start > >> >> > depending on it and we'll not have to maintain it forever? > >> >> > > >> >> > I guess better interface would be something like > >> >> > > >> >> > pstate/07/core_clock_min > >> >> > core_clock_max > >> >> > memory_clock_min > >> >> > memory_clock_max > >> >> > > >> >> > and then pstate/active containing just the number of active state? > >> >> > > >> >> > Thanks, > >> >> > Pavel > >> >> > > >> >> > PS: I have no nvidia, got the news at > >> >> > > >> >> > http://www.phoronix.com/scan.php?page=article&item=nouveau_try_linux316&num=2 > >> >> > >> >> FTR, this file has been in place since 3.13, and there was a different > >> >> file before it (performance_levels), with a comparable format since > >> >> much earlier (definitely 3.8, probably earlier). I think it's meant a > >> >> lot more for people looking at it and echo'ing stuff to it to modify > >> >> the levels (where supported), than for programs parsing it. Perhaps > >> >> sysfs is the wrong place for this -- what is the right place? debugfs? > >> > > >> > Yes, please move it to debugfs. > >> > >> Could we just say that the format of this file is one-per-line of > >> > >> level: information-for-the-user > >> > >> And you can echo a level into it to switch to that level? That seems > >> like a reasonable ABI to have... would be happy to throw it into a > >> file somewhere... not sure where though. > > > > sysfs files are "one value per file", that's it. Do anything other than > > that, and it can not be in sysfs, sorry. > > I think that's a little inconsistent. There are *tons* of files in > sysfs with multiple values. For example "local_cpulist" which contains > the string "0-3" for me, the per-connector "modes" file which has a > list of modes supported, and a "resource" file which has a list of hex > values (which probably have something to do with PCI resources?). [I > purposely picked values coming from different parts of the kernel not > to focus on one subsystem...] A list of valid "values" that a file can be in is fine if you just then write one value back to that file. That's the one exception, but a minor one given the huge number of sysfs files. Other than that, if you know of exceptions to that rule, please point them out and I will be glad to yell at the developers. PCI device resources are binary sysfs files, which are just pass-through files from the firmware/device to userspace, with no parsing done in the kernel. So that's just a single 'value' as well. greg k-h _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel