[Dropped Cc: fenghua.yu@xxxxxxxxx <fenghua.yu@xxxxxxxxx> (bounces)] On Wed, Feb 19, 2025 at 05:43:43PM +0000, Luck, Tony wrote: > > I hacked up something a bit like this so that schemata could be written > > interactively from the shell, so I can try to port that onto this series > > as an illustration, if it helps. > > Note that schemata will accept writes that just change the bits you want to change. > > So from the shell: > > # cat schemata > MB:0=100;1=100 > L3:0=fff;1=fff > > # echo "MB:1=90" > schemata > > # cat schemata > MB:0=100;1= 90 > L3:0=fff;1=fff > > -Tony > Yes, but not: # { p=: echo -n MB for ((d = 0; d < 2; d++)); do echo -n "$p$d=100" p=';' done echo } >schemata (Or at least, it depends on the shell. Each simple command that generates output can result in a separate write() call -- certainly there is no guarantee that it won't.) Doing the same thing from C will "work", because by default I/O on the schemata file will be fully buffered in userspace... unless the whole output exceeds the default buffer size. The difference from sysfs here is that it would be insane to write a small, single formatted value in pieces when it is natural to generate it from a single format specifier -- whereas the syntax of some of resctrl's files has a multilevel internal structure that has to be built up in a piecemeal fashion (whether or not it is written to the file in one go). I'm not saying that this is an issue for realistic uses though, and anyway, the schemata file is nothing to do with this series. Cheers ---Dave