linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
To: Kamezawa Hiroyuki
	<kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
Cc: rjw-KKrjLPT3xs0@public.gmane.org,
	linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
	containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	mhocko-AlSwsSmVLrQ@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 6/9] cgroup_freezer: make freezer->state mask of flags
Date: Wed, 7 Nov 2012 20:42:55 -0800	[thread overview]
Message-ID: <20121108044255.GG2660@mtj.dyndns.org> (raw)
In-Reply-To: <509B371E.9050005-+CUm20s59erQFUHtdCDX3A@public.gmane.org>

Hello, Kame.

On Thu, Nov 08, 2012 at 01:37:50PM +0900, Kamezawa Hiroyuki wrote:
> How about
> enum {
>    __CGROUP_FREEZING,
>    __CGROUP_FROZEN,
> };
> 
> #define CGROUP_FREEZER_STATE_MASK  0x3
> #define CGROUP_FREEZER_STATE(state)	((state) & CGROUP_FREEZER_STATE_MASK)
> #define CGROUP_THAW(state)	(CGROUP_FREEZER_STATE(state) == 0)
> #define CGROUP_FREEZING(state)	(CGROUP_FREEZER_STATE(state) == __CGROUP_FREEZING)
> #define CGROUP_FROZEN(state)\
> 	(CGROUP_FREEZER_STATE(state) == (__CGROUP_FREEZING | __CGROUP_FROZEN))

I think it's a bit overdone and we have cases where we test for
FREEZING regardless of FROZEN and cases where test for FREEZING &&
!FROZEN.  We can have, say, CGROUP_FREZING() and then
CGROUP_FREEZING_BUT_NOT_FROZEN(), but it feels more like obfuscation
than anything else.

> >@@ -290,9 +284,9 @@ static int freezer_write(struct cgroup *cgroup, struct cftype *cft,
> >  {
> >  	bool freeze;
> >
> >-	if (strcmp(buffer, freezer_state_strs[CGROUP_THAWED]) == 0)
> >+	if (strcmp(buffer, freezer_state_strs(0)) == 0)
> 
> Can't we have a name for "0" ?

We can define CGROUP_THAWED to be zero.  I'd rather keep it explicitly
zero tho.  freezer state is mask of freezing and frozen flags and no
flag set means thawed.

Thanks.

-- 
tejun

  parent reply	other threads:[~2012-11-08  4:42 UTC|newest]

Thread overview: 74+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-03  8:38 [PATCHSET cgroup/for-3.8] cgroup_freezer: implement proper hierarchy support Tejun Heo
     [not found] ` <1351931915-1701-1-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-03  8:38   ` [PATCH 1/9] cgroup: add cgroup_subsys->post_create() Tejun Heo
     [not found]     ` <1351931915-1701-2-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-05 13:42       ` Glauber Costa
     [not found]         ` <5097C23B.3040808-bzQdu9zFT3WakBO8gow8eQ@public.gmane.org>
2012-11-05 18:02           ` [RFC] cgroup: deprecate clone_children Tejun Heo
     [not found]             ` <20121105180213.GB19354-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-05 19:17               ` Serge Hallyn
2012-11-05 19:26                 ` Tejun Heo
2012-11-07 15:25       ` [PATCH 1/9] cgroup: add cgroup_subsys->post_create() Michal Hocko
     [not found]         ` <20121107152516.GA4131-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-07 17:02           ` Tejun Heo
2012-11-07 17:15       ` [PATCH 1/9 v2] " Tejun Heo
     [not found]         ` <20121107171508.GF2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-07 17:40           ` Michal Hocko
2012-11-08  2:59           ` Kamezawa Hiroyuki
2012-11-08 19:07     ` [PATCH 1/9 v3] " Tejun Heo
2012-11-09  9:09       ` Li Zefan
     [not found]       ` <20121108190715.GD9672-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-09  9:09         ` Li Zefan
2012-11-09 11:09         ` Daniel Wagner
     [not found]           ` <509CE472.9040504-kQCPcA+X3s7YtjvyW6yDsg@public.gmane.org>
2012-11-09 17:22             ` Tejun Heo
     [not found]               ` <20121109172211.GB2711-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-10  1:35                 ` Glauber Costa
2012-11-12 13:04               ` Daniel Wagner
2012-11-03  8:38   ` [PATCH 2/9] cgroup: Use rculist ops for cgroup->children Tejun Heo
2012-11-07 15:30     ` Michal Hocko
     [not found]     ` <1351931915-1701-3-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  3:01       ` Kamezawa Hiroyuki
2012-11-09  9:10       ` Li Zefan
2012-11-03  8:38   ` [PATCH 3/9] cgroup: implement generic child / descendant walk macros Tejun Heo
2012-11-06 20:31     ` Tejun Heo
     [not found]       ` <20121106203154.GV30069-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-07 15:38         ` Michal Hocko
2012-11-07 16:54     ` Michal Hocko
     [not found]       ` <20121107165457.GD4131-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-07 17:01         ` Tejun Heo
     [not found]           ` <20121107170118.GD2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-07 17:49             ` Michal Hocko
     [not found]     ` <1351931915-1701-4-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  3:21       ` Kamezawa Hiroyuki
2012-11-08  9:50       ` Michal Hocko
2012-11-08 17:15         ` Tejun Heo
2012-11-08 17:59     ` [PATCH 3/9 v2] " Tejun Heo
     [not found]       ` <20121108175946.GA9672-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-09  9:13         ` Li Zefan
2012-11-03  8:38   ` [PATCH 4/9] cgroup_freezer: trivial cleanups Tejun Heo
     [not found]     ` <1351931915-1701-5-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  3:24       ` Kamezawa Hiroyuki
2012-11-08  9:53       ` Michal Hocko
2012-11-03  8:38   ` [PATCH 5/9] cgroup_freezer: prepare freezer_change_state() for full hierarchy support Tejun Heo
     [not found]     ` <1351931915-1701-6-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  4:25       ` Kamezawa Hiroyuki
2012-11-08  9:56     ` Michal Hocko
2012-11-03  8:38   ` [PATCH 6/9] cgroup_freezer: make freezer->state mask of flags Tejun Heo
     [not found]     ` <1351931915-1701-7-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  4:37       ` Kamezawa Hiroyuki
     [not found]         ` <509B371E.9050005-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08  4:42           ` Tejun Heo [this message]
     [not found]             ` <20121108044255.GG2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-08  5:00               ` Kamezawa Hiroyuki
2012-11-08 14:38                 ` Tejun Heo
2012-11-08 10:39       ` Michal Hocko
     [not found]         ` <20121108103928.GD31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 14:39           ` Tejun Heo
     [not found]             ` <20121108143952.GD12973-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-08 14:47               ` Michal Hocko
2012-11-03  8:38   ` [PATCH 7/9] cgroup_freezer: introduce CGROUP_FREEZING_[SELF|PARENT] Tejun Heo
     [not found]     ` <1351931915-1701-8-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  4:42       ` Kamezawa Hiroyuki
     [not found]         ` <509B382E.4030707-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08  4:45           ` Tejun Heo
2012-11-08  4:56             ` Kamezawa Hiroyuki
     [not found]               ` <509B3B94.1070407-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08 14:41                 ` Tejun Heo
2012-11-08 12:47     ` Michal Hocko
2012-11-08 14:42       ` Tejun Heo
2012-11-03  8:38   ` [PATCH 8/9] cgroup_freezer: add ->post_create() and ->pre_destroy() and track online state Tejun Heo
     [not found]     ` <1351931915-1701-9-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-08  4:48       ` Kamezawa Hiroyuki
     [not found]         ` <509B3999.6060505-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-11-08 15:41           ` Tejun Heo
2012-11-08 13:23     ` Michal Hocko
     [not found]       ` <20121108132306.GH31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 17:17         ` Tejun Heo
2012-11-03  8:38   ` [PATCH 9/9] cgroup_freezer: implement proper hierarchy support Tejun Heo
2012-11-07 11:00     ` Michal Hocko
2012-11-07 16:31       ` Tejun Heo
     [not found]     ` <1351931915-1701-10-git-send-email-tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2012-11-07 16:39       ` [PATCH 9/9 v2] " Tejun Heo
     [not found]         ` <20121107163919.GC2660-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-11-08 14:08           ` Michal Hocko
     [not found]             ` <20121108140852.GI31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 14:18               ` Tejun Heo
2012-11-08 15:20                 ` Michal Hocko
     [not found]                   ` <20121108152039.GL31821-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 15:29                     ` Tejun Heo
2012-11-08 15:57                       ` Michal Hocko
2012-11-08 17:57       ` [PATCH 9/9 v3] " Tejun Heo
     [not found]         ` <20121108175750.GK12973-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-08 18:02           ` Michal Hocko
     [not found]             ` <20121108180246.GA17415-2MMpYkNvuYDjFM9bn6wA6Q@public.gmane.org>
2012-11-08 18:04               ` Tejun Heo
     [not found]                 ` <20121108180417.GC9672-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-11-08 18:08                   ` Michal Hocko
2012-11-09 17:15   ` [PATCHSET cgroup/for-3.8] " Tejun Heo
2012-11-08 18:01 ` Tejun Heo

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=20121108044255.GG2660@mtj.dyndns.org \
    --to=tj-dgejt+ai2ygdnm+yrofe0a@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mhocko-AlSwsSmVLrQ@public.gmane.org \
    --cc=rjw-KKrjLPT3xs0@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).