All of lore.kernel.org
 help / color / mirror / Atom feed
From: menage-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org
To: pj-sJ/iWh9BUns@public.gmane.org,
	xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org,
	balbir-xthvdsQ13ZrQT0dZR+AlfA@public.gmane.org,
	serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org,
	akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org
Cc: containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: [RFC/PATCH 4/8]: CGroup Files: Move notify_on_release file to separate write handler
Date: Mon, 12 May 2008 23:37:11 -0700	[thread overview]
Message-ID: <20080513071522.635138000@menage.corp.google.com> (raw)
In-Reply-To: 20080513063707.049448000@menage.corp.google.com

[-- Attachment #1: cgroup_notify_on_release_file.patch --]
[-- Type: text/plain, Size: 1744 bytes --]

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-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>

---
 kernel/cgroup.c |   27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

Index: cgroup-2.6.25-mm1/kernel/cgroup.c
===================================================================
--- cgroup-2.6.25-mm1.orig/kernel/cgroup.c
+++ cgroup-2.6.25-mm1/kernel/cgroup.c
@@ -1440,13 +1440,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;
@@ -2275,6 +2268,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
  */
@@ -2291,7 +2296,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,
 	},
 };

--

WARNING: multiple messages have this Message-ID (diff)
From: menage@google.com
To: pj@sgi.com, xemul@openvz.org, balbir@in.ibm.com,
	serue@us.ibm.com, akpm@linux-foundation.org
Cc: linux-kernel@vger.kernel.org, containers@lists.linux-foundation.org
Subject: [RFC/PATCH 4/8]: CGroup Files: Move notify_on_release file to separate write handler
Date: Mon, 12 May 2008 23:37:11 -0700	[thread overview]
Message-ID: <20080513071522.635138000@menage.corp.google.com> (raw)
In-Reply-To: 20080513063707.049448000@menage.corp.google.com

[-- Attachment #1: cgroup_notify_on_release_file.patch --]
[-- Type: text/plain, Size: 1715 bytes --]

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@google.com>

---
 kernel/cgroup.c |   27 +++++++++++++++------------
 1 file changed, 15 insertions(+), 12 deletions(-)

Index: cgroup-2.6.25-mm1/kernel/cgroup.c
===================================================================
--- cgroup-2.6.25-mm1.orig/kernel/cgroup.c
+++ cgroup-2.6.25-mm1/kernel/cgroup.c
@@ -1440,13 +1440,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;
@@ -2275,6 +2268,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
  */
@@ -2291,7 +2296,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,
 	},
 };

--

  parent reply	other threads:[~2008-05-13  6:37 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-13  6:37 [RFC/PATCH 0/8]: CGroup Files: Clean up locking and boilerplate menage-hpIqsD4AKlfQT0dZR+AlfA
2008-05-13  6:37 ` menage
2008-05-13  6:37 ` [RFC/PATCH 1/8]: CGroup Files: Add locking mode to cgroups control files menage-hpIqsD4AKlfQT0dZR+AlfA
2008-05-13  6:37   ` menage
2008-05-13  9:23   ` Li Zefan
     [not found]     ` <48295E11.2000003-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2008-05-13 21:07       ` Paul Menage
2008-05-13 21:07     ` Paul Menage
2008-05-14  1:30       ` Li Zefan
     [not found]         ` <482A40C0.8030708-BthXqXjhjHXQFUHtdCDX3A@public.gmane.org>
2008-05-14  1:40           ` Paul Menage
2008-05-14  1:40         ` Paul Menage
     [not found]       ` <6599ad830805131407y3d94016cn773ba21a42b6098c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-05-14  1:30         ` Li Zefan
     [not found]   ` <20080513071522.133586000-B63HFAS8fGlSzHKm+aFRNNkmqwFzkYv6@public.gmane.org>
2008-05-13  9:23     ` Li Zefan
2008-05-13 20:01     ` Andrew Morton
2008-05-13 20:01   ` Andrew Morton
2008-05-13 20:38     ` Matthew Helsley
     [not found]       ` <1210711138.21217.49.camel-bi+AKbBUZKY6gyzm1THtWbp2dZbC/Bob@public.gmane.org>
2008-05-13 20:43         ` Andrew Morton
2008-05-13 20:43           ` Andrew Morton
2008-05-13 21:17     ` Paul Menage
2008-05-13 21:32       ` Andrew Morton
     [not found]         ` <20080513143206.ef259829.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2008-05-13 21:46           ` Paul Menage
2008-05-14  1:59           ` Paul Jackson
2008-05-13 21:46         ` Paul Menage
2008-05-14  1:59         ` Paul Jackson
     [not found]       ` <6599ad830805131417m4f8cc2e6iac42c0fb089a8cb1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2008-05-13 21:32         ` Andrew Morton
     [not found]     ` <20080513130127.fcd46a41.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2008-05-13 20:38       ` Matthew Helsley
2008-05-13 21:17       ` Paul Menage
2008-05-13  6:37 ` [RFC/PATCH 2/8]: CGroup Files: Add a cgroup write_string control file method menage-hpIqsD4AKlfQT0dZR+AlfA
2008-05-13  6:37   ` menage
2008-05-13 20:07   ` Andrew Morton
     [not found]     ` <20080513130710.36bc65f7.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2008-05-13 21:01       ` Paul Menage
2008-05-13 21:01     ` Paul Menage
2008-05-13 20:44   ` Matt Helsley
     [not found]   ` <20080513071522.301139000-B63HFAS8fGlSzHKm+aFRNNkmqwFzkYv6@public.gmane.org>
2008-05-13 20:07     ` Andrew Morton
2008-05-13 20:44     ` Matt Helsley
2008-05-13  6:37 ` [RFC/PATCH 3/8]: CGroup Files: Move the release_agent file to use typed handlers menage-hpIqsD4AKlfQT0dZR+AlfA
2008-05-13  6:37 ` menage
     [not found]   ` <20080513071522.470099000-B63HFAS8fGlSzHKm+aFRNNkmqwFzkYv6@public.gmane.org>
2008-05-13 20:08     ` Andrew Morton
2008-05-13 20:08   ` Andrew Morton
2008-05-13 21:32     ` Paul Menage
     [not found]     ` <20080513130833.cc03caea.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2008-05-13 21:32       ` Paul Menage
2008-05-13  6:37 ` menage-hpIqsD4AKlfQT0dZR+AlfA [this message]
2008-05-13  6:37   ` [RFC/PATCH 4/8]: CGroup Files: Move notify_on_release file to separate write handler menage
2008-05-13  6:37 ` [RFC/PATCH 5/8]: CGroup Files: Turn attach_task_by_pid directly into a cgroup " menage-hpIqsD4AKlfQT0dZR+AlfA
2008-05-13  6:37   ` menage
2008-05-13  6:37 ` [RFC/PATCH 6/8]: CGroup Files: Remove cpuset_common_file_write() menage-hpIqsD4AKlfQT0dZR+AlfA
2008-05-13  6:37   ` menage
     [not found]   ` <20080513071522.984545000-B63HFAS8fGlSzHKm+aFRNNkmqwFzkYv6@public.gmane.org>
2008-05-13 20:11     ` Andrew Morton
2008-05-13 20:11       ` Andrew Morton
2008-05-13 21:27       ` Paul Menage
     [not found]       ` <20080513131134.8b1cefe2.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2008-05-13 21:27         ` Paul Menage
2008-05-13  6:37 ` [RFC/PATCH 7/8]: CGroup Files: Convert devcgroup_access_write() into a cgroup write_string() handler menage-hpIqsD4AKlfQT0dZR+AlfA
2008-05-13  6:37   ` menage
2008-05-13  6:37 ` [RFC/PATCH 8/8]: CGroup Files: Convert res_counter_write() to be a cgroups " menage-hpIqsD4AKlfQT0dZR+AlfA
2008-05-13  6:37   ` menage

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080513071522.635138000@menage.corp.google.com \
    --to=menage-hpiqsd4aklfqt0dzr+alfa@public.gmane.org \
    --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \
    --cc=balbir-xthvdsQ13ZrQT0dZR+AlfA@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=pj-sJ/iWh9BUns@public.gmane.org \
    --cc=serue-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org \
    --cc=xemul-GEFAQzZX7r8dnm+yROfE0A@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.