The patch titled cgroup files: move notify_on_release file to separate write handler has been added to the -mm tree. Its filename is cgroup-files-move-notify_on_release-file-to-separate-write-handler.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find out what to do about this The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/ ------------------------------------------------------ Subject: cgroup files: move notify_on_release file to separate write handler From: Paul Menage <menage@xxxxxxxxxx> This patch moves the write handler for the cgroups notify_on_release file into a separate handler. This handler requires no cgroups locking since it relies on atomic bitops for synchronization. Signed-off-by: Paul Menage <menage@xxxxxxxxxx> Cc: Paul Jackson <pj@xxxxxxx> Cc: Pavel Emelyanov <xemul@xxxxxxxxxx> Cc: Balbir Singh <balbir@xxxxxxxxxx> Cc: Serge Hallyn <serue@xxxxxxxxxx> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- kernel/cgroup.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff -puN kernel/cgroup.c~cgroup-files-move-notify_on_release-file-to-separate-write-handler kernel/cgroup.c --- a/kernel/cgroup.c~cgroup-files-move-notify_on_release-file-to-separate-write-handler +++ a/kernel/cgroup.c @@ -1471,13 +1471,6 @@ static ssize_t cgroup_common_file_write( case FILE_TASKLIST: retval = attach_task_by_pid(cgrp, buffer); break; - case FILE_NOTIFY_ON_RELEASE: - clear_bit(CGRP_RELEASABLE, &cgrp->flags); - if (simple_strtoul(buffer, NULL, 10) != 0) - set_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); - else - clear_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); - break; default: retval = -EINVAL; goto out2; @@ -2249,6 +2242,18 @@ static u64 cgroup_read_notify_on_release return notify_on_release(cgrp); } +static int cgroup_write_notify_on_release(struct cgroup *cgrp, + struct cftype *cft, + u64 val) +{ + clear_bit(CGRP_RELEASABLE, &cgrp->flags); + if (val) + set_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); + else + clear_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); + return 0; +} + /* * for the common functions, 'private' gives the type of file */ @@ -2265,7 +2270,7 @@ static struct cftype files[] = { { .name = "notify_on_release", .read_u64 = cgroup_read_notify_on_release, - .write = cgroup_common_file_write, + .write_u64 = cgroup_write_notify_on_release, .private = FILE_NOTIFY_ON_RELEASE, }, }; _ Patches currently in -mm which might be from menage@xxxxxxxxxx are call_usermodehelper-increase-reliability.patch cgroup-use-read-lock-to-guard-find_existing_css_set.patch mark-res_counter_charge_locked-with-__must_check.patch cgroup-list_for_each-cleanup-v2.patch cgroup-anotate-two-variables-with-__read_mostly.patch cgroup-files-clean-up-whitespace-in-struct-cftype.patch cgroup-files-add-write_string-cgroup-control-file-method.patch cgroup-files-move-the-release_agent-file-to-use-typed-handlers.patch cgroup-files-move-notify_on_release-file-to-separate-write-handler.patch cgroup-files-turn-attach_task_by_pid-directly-into-a-cgroup-write-handler.patch cgroup-files-remove-cpuset_common_file_write.patch cgroup-files-convert-devcgroup_access_write-into-a-cgroup-write_string-handler.patch cgroup-files-convert-res_counter_write-to-be-a-cgroups-write_string-handler.patch memcg-remove-refcnt-from-page_cgroup.patch memcg-remove-refcnt-from-page_cgroup-fix.patch memcg-remove-refcnt-from-page_cgroup-fix-2.patch memcg-handle-swap-cache.patch memcg-handle-swap-cache-fix.patch memcg-helper-function-for-relcaim-from-shmem.patch memcg-add-hints-for-branch.patch memcg-remove-a-redundant-check.patch memrlimit-add-memrlimit-controller-documentation.patch memrlimit-setup-the-memrlimit-controller.patch memrlimit-cgroup-mm-owner-callback-changes-to-add-task-info.patch memrlimit-add-memrlimit-controller-accounting-and-control.patch memrlimit-setup-the-memrlimit-controller-cgroup-files-convert-res_counter_write-to-be-a-cgroups-write_string-handler-memrlimitcgroup.patch cpusets-update-tasks-cpus_allowed-and-mems_allowed-after-cpu-node-offline-online.patch make-cgroup_seqfile_release-static.patch add-a-refcount-check-in-dput.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html