Thanks for answer Rafael, it looks like there are 2 different things now. 1. What kernel returns when I _read_ e_p_p file - truth or "cached" ?
2. How kernel behaves when I _write_ to e_p_p file something it cannot provide - error or success. For #1, I think we need to keep it simple and always return true policy value. Does not matter what someone wrote there. If some process wrote "powersave", but kernel uses EPP 0 anyway, the other process probably wants to know the truth and get "performance" when reading e_p_p. On Tue, 2020-08-25 at 16:51 +0200, Rafael J. Wysocki wrote: > An alternative is to fail writes to energy_performance_preference if > the driver works in the active mode and the scaling algorithm for the > scaling CPU is performance and *then* to make reads from it return the > value in the register. Yes, this is #2. This sounds like the _right_ way to do it. Suppose my script wants to exercise the system with 4 different EPP policies. It changes the policy and runs measurements, each run takes few _days_. Now, my script asks for "powersave". Kernel _knows_ it cannot provide it (performance+active enabled). Why would it not return error ("can't do") instead of success ("yes, Sir!")? Note, I deliberately use simple words like "my script" instead of "a user-space process" to make it easier to convey the idea. Anyway, if kernel returns error, I can go and improve my script WRT controlling the performance+active mode knobs.