lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20101007143957.e75127e6.kamezawa.hiroyu@jp.fujitsu.com>
Date:	Thu, 7 Oct 2010 14:39:57 +0900
From:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To:	balbir@...ux.vnet.ibm.com
Cc:	"linux-mm@...ck.org" <linux-mm@...ck.org>,
	containers@...ts.linux-foundation.org,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC] Restrict size of page_cgroup->flags

On Thu, 7 Oct 2010 11:01:17 +0530
Balbir Singh <balbir@...ux.vnet.ibm.com> wrote:

> * KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com> [2010-10-07 13:22:33]:
> 
> > On Thu, 7 Oct 2010 09:26:08 +0530
> > Balbir Singh <balbir@...ux.vnet.ibm.com> wrote:
> > 
> > > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com> [2010-10-07 12:18:16]:
> > > 
> > > > On Thu, 7 Oct 2010 08:42:04 +0530
> > > > Balbir Singh <balbir@...ux.vnet.ibm.com> wrote:
> > > > 
> > > > > * KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com> [2010-10-07 08:58:58]:
> > > > > 
> > > > > > On Wed, 6 Oct 2010 19:53:14 +0530
> > > > > > Balbir Singh <balbir@...ux.vnet.ibm.com> wrote:
> > > > > > 
> > > > > > > I propose restricting page_cgroup.flags to 16 bits. The patch for the
> > > > > > > same is below. Comments?
> > > > > > > 
> > > > > > > 
> > > > > > > Restrict the bits usage in page_cgroup.flags
> > > > > > > 
> > > > > > > From: Balbir Singh <balbir@...ux.vnet.ibm.com>
> > > > > > > 
> > > > > > > Restricting the flags helps control growth of the flags unbound.
> > > > > > > Restriciting it to 16 bits gives us the possibility of merging
> > > > > > > cgroup id with flags (atomicity permitting) and saving a whole
> > > > > > > long word in page_cgroup
> > > > > > > 
> > > > > > > Signed-off-by: Balbir Singh <balbir@...ux.vnet.ibm.com>
> > > > > > 
> > > > > > Doesn't make sense until you show the usage of existing bits.
> > > > > 
> > > > > ??
> > > > > 
> > > > Limiting something for NOT EXISTING PATCH doesn't make sense, in general.
> > > > 
> > > > 
> > > > > > And I guess 16bit may be too large on 32bit systems.
> > > > > 
> > > > > too large on 32 bit systems? My intention is to keep the flags to 16
> > > > > bits and then use cgroup id for the rest and see if we can remove
> > > > > mem_cgroup pointer
> > > > > 
> > > > 
> > > > You can't use flags field to store mem_cgroup_id while we use lock bit on it.
> > > > We have to store something more stable...as pfn or node-id or zone-id.
> > > > 
> > > > It's very racy. 
> > > >
> > > 
> > > Yes, correct it is racy, there is no easy way from what I know we can write
> > > the upper 16 bits of the flag without affecting the lower 16 bits, if
> > > the 16 bits are changing. One of the techniques could be to have lock
> > > for the unsigned long word itself - but I don't know what performance
> > > overhead that would add. Having said that I would like to explore
> > > techniques that allow me to merge the two.
> > > 
> > 
> > to store pfn, we need to limit under 12bit.
> > I'll schedule my patch if dirty_ratio one goes.
> >
> 
> cool! We'll redo the patch then and lets make this work. We'll need to
> see how many bits we need for section/node/zone to do pc_to_pfn() and
> pfn_to_page().
> 

As far as I know now,

!CONFIG_HIGHMEM -> we can store pfn.
CONFIG_HIGHMEM && CONFIG_SPARSEMEM -> we can store section
CONFIG_HIGHMEM && !CONFIG_SPARSEMEM -> we can store node-id
CONFIG_HIGHMEM && CONFIG_SPARSEMEM_VMEMMAP -> there is no arch.

I think we can do.

-Kame


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ