[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190411095543.GA55197@lakrids.cambridge.arm.com>
Date: Thu, 11 Apr 2019 10:55:43 +0100
From: Mark Rutland <mark.rutland@....com>
To: Alexey Kardashevskiy <aik@...abs.ru>
Cc: Daniel Jordan <daniel.m.jordan@...cle.com>,
akpm@...ux-foundation.org, Alan Tull <atull@...nel.org>,
Alex Williamson <alex.williamson@...hat.com>,
Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Christoph Lameter <cl@...ux.com>,
Davidlohr Bueso <dave@...olabs.net>,
Michael Ellerman <mpe@...erman.id.au>,
Moritz Fischer <mdf@...nel.org>,
Paul Mackerras <paulus@...abs.org>, Wu Hao <hao.wu@...el.com>,
linux-mm@...ck.org, kvm@...r.kernel.org, kvm-ppc@...r.kernel.org,
linuxppc-dev@...ts.ozlabs.org, linux-fpga@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/6] mm: change locked_vm's type from unsigned long to
atomic64_t
On Thu, Apr 11, 2019 at 02:22:23PM +1000, Alexey Kardashevskiy wrote:
> On 03/04/2019 07:41, Daniel Jordan wrote:
> > - dev_dbg(dev, "[%d] RLIMIT_MEMLOCK %c%ld %ld/%ld%s\n", current->pid,
> > + dev_dbg(dev, "[%d] RLIMIT_MEMLOCK %c%ld %lld/%lu%s\n", current->pid,
> > incr ? '+' : '-', npages << PAGE_SHIFT,
> > - current->mm->locked_vm << PAGE_SHIFT, rlimit(RLIMIT_MEMLOCK),
> > - ret ? "- exceeded" : "");
> > + (s64)atomic64_read(¤t->mm->locked_vm) << PAGE_SHIFT,
> > + rlimit(RLIMIT_MEMLOCK), ret ? "- exceeded" : "");
>
>
>
> atomic64_read() returns "long" which matches "%ld", why this change (and
> similar below)? You did not do this in the two pr_debug()s above anyway.
Unfortunately, architectures return inconsistent types for atomic64 ops.
Some return long (e..g. powerpc), some return long long (e.g. arc), and
some return s64 (e.g. x86).
I'm currently trying to clean things up so that all use s64 [1], but in
the mean time it's necessary for generic code use a cast or temporarly
variable to ensure a consistent type. Once that's cleaned up, we can
remove the redundant casts.
Thanks,
Mark.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/mark/linux.git/log/?h=atomics/type-cleanup
Powered by blists - more mailing lists