Messages in this thread |  | | From | Waiman Long <> | Subject | Re: [PATCH v3 4/9] cgroup/cpuset: Enable event notification when partition become invalid | Date | Tue, 27 Jul 2021 16:46:18 -0400 |
| |
On 7/27/21 4:26 PM, Waiman Long wrote: > On 7/26/21 7:14 PM, Tejun Heo wrote: >> On Tue, Jul 20, 2021 at 10:18:29AM -0400, Waiman Long wrote: >>> +static inline void notify_partition_change(struct cpuset *cs, >>> + int old_prs, int new_prs) >>> +{ >>> + if ((old_prs == new_prs) || >>> + ((old_prs != PRS_ERROR) && (new_prs != PRS_ERROR))) >>> + return; >>> + cgroup_file_notify(&cs->partition_file); >> I'd generate an event on any state changes. The user have to read the >> file >> to find out what happened anyway. >> >> Thanks. > > From my own testing with "inotify_add_watch(fd, file, IN_MODIFY)", > poll() will return with a event whenever a user write to > cpuset.cpus.partition control file. I haven't really look into the > sysfs code yet, but I believe event generation will be automatic in > this case. So I don't think I need to explicitly add a > cgroup_file_notify() when users modify the control file directly. > Other indirect modification may cause the partition value to change > to/from PRS_ERROR and I should have captured all those changes in this > patchset. I will update the patch to note this point to make it more > clear.
After thinking about it a bit more it, it is probably not a problem to call cgroup_file_notify() for every change as this is not in a performance critical path anyway. I will do some more testing to find out if doing cgroup_file_notify() for regular file write will cause an extra duplicated event to be sent out, I will probably stay with the current patch. Otherwise, I can change it to always call cgroup_file_notify().
Cheers, Longman
|  |