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: <20161220144202.sgb5cqyt67vruosw@techsingularity.net>
Date:   Tue, 20 Dec 2016 14:42:02 +0000
From:   Mel Gorman <mgorman@...hsingularity.net>
To:     Michal Hocko <mhocko@...nel.org>
Cc:     Jia He <hejianet@...il.com>, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org,
        Andrew Morton <akpm@...ux-foundation.org>,
        Vlastimil Babka <vbabka@...e.cz>,
        Johannes Weiner <hannes@...xchg.org>,
        Joonsoo Kim <iamjoonsoo.kim@....com>,
        Taku Izumi <izumi.taku@...fujitsu.com>
Subject: Re: [PATCH RFC 1/1] mm, page_alloc: fix incorrect zone_statistics
 data

On Tue, Dec 20, 2016 at 02:28:45PM +0000, Mel Gorman wrote:
> On Tue, Dec 20, 2016 at 02:26:43PM +0100, Michal Hocko wrote:
> > On Tue 20-12-16 13:10:40, Mel Gorman wrote:
> > > On Tue, Dec 20, 2016 at 10:18:14AM +0100, Michal Hocko wrote:
> > > > On Mon 12-12-16 13:59:07, Jia He wrote:
> > > > > In commit b9f00e147f27 ("mm, page_alloc: reduce branches in
> > > > > zone_statistics"), it reconstructed codes to reduce the branch miss rate.
> > > > > Compared with the original logic, it assumed if !(flag & __GFP_OTHER_NODE)
> > > > >  z->node would not be equal to preferred_zone->node. That seems to be
> > > > > incorrect.
> > > > 
> > > > I am sorry but I have hard time following the changelog. It is clear
> > > > that you are trying to fix a missed NUMA_{HIT,OTHER} accounting
> > > > but it is not really clear when such thing happens. You are adding
> > > > preferred_zone->node check. preferred_zone is the first zone in the
> > > > requested zonelist. So for the most allocations it is a node from the
> > > > local node. But if something request an explicit numa node (without
> > > > __GFP_OTHER_NODE which would be the majority I suspect) then we could
> > > > indeed end up accounting that as a NUMA_MISS, NUMA_FOREIGN so the
> > > > referenced patch indeed caused an unintended change of accounting AFAIU.
> > > > 
> > > 
> > > This is a similar concern to what I had. If the preferred zone, which is
> > > the first valid usable zone, is not a "hit" for the statistics then I
> > > don't know what "hit" is meant to mean.
> > 
> > But the first valid usable zone is defined based on the requested numa
> > node. Unless the requested node is memoryless then we should have a hit,
> > no?
> > 
> 
> Should be. If the local node is memoryless then there would be a difference
> between hit and whether it's local or not but that to me is a little
> useless. A local vs remote page allocated has a specific meaning and
> consequence. It's hard to see how hit can be meaningfully interpreted if
> there are memoryless nodes. I don't have a strong objection to the patch
> so I didn't nak it, I'm just not convinced it matters.
> 

That said, it's also hard to interpret "hit" when memory policies
forbid a memory node but allows the CPUs to be used. Local and remote
can be interpreted regardless of machine, "hit" has meaning depending on
the configuration and interpreting it is weird. It had some value when
zone_reclaim_mode was always enabled because a low hit rate would imply
zone_reclaim_mode was broken but that's a corner case. I would prefer to
get rid of it because interpreting it is such a mess if there wasn't tools
already collecting the data.

-- 
Mel Gorman
SUSE Labs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ