From: David Gibson <david@gibson.dropbear.id.au>
To: Denis Kirjanov <kda@linux-powerpc.org>
Cc: paulus@samba.org, benh@kernel.crashing.org,
bharata@linux.vnet.ibm.com, lvivier@redhat.com, thuth@redhat.com,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [RFC 3/3] pseries: sysfs hack to trigger a hash page table resize
Date: Thu, 24 Dec 2015 17:37:35 +1100 [thread overview]
Message-ID: <20151224063734.GX3011@voom.redhat.com> (raw)
In-Reply-To: <CAOJe8K26k9+iAw1RM2oVCn=gYMCDgfWNhbGJT+kQ=VwM2kXz=A@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3147 bytes --]
On Wed, Dec 23, 2015 at 03:16:39PM +0300, Denis Kirjanov wrote:
> On 12/23/15, David Gibson <david@gibson.dropbear.id.au> wrote:
> > On Tue, Dec 22, 2015 at 02:19:20PM +0300, Denis Kirjanov wrote:
> >> On 12/22/15, David Gibson <david@gibson.dropbear.id.au> wrote:
> >> > This patch adds a special file in /sys/kernel/mm which can be used to
> >> > view
> >> > the current size of the hash page table (as a bit shift) and to trigger
> >> > a resize of the hash table on PAPR guests.
> >> >
> >> > Logically this would make more sense as a debugfs file, but that
> >> > doesn't
> >> > see to provide an obvious way to have a "store" function that has an
> >> > effect
> >> > other than updating a variable.
> >> >
> >> > Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
> >> > ---
> >> > arch/powerpc/platforms/pseries/lpar.c | 41
> >> > +++++++++++++++++++++++++++++++++++
> >> > 1 file changed, 41 insertions(+)
> >> >
> >> > diff --git a/arch/powerpc/platforms/pseries/lpar.c
> >> > b/arch/powerpc/platforms/pseries/lpar.c
> >> > index aadb242..2759767 100644
> >> > --- a/arch/powerpc/platforms/pseries/lpar.c
> >> > +++ b/arch/powerpc/platforms/pseries/lpar.c
> >> > @@ -903,3 +903,44 @@ int pSeries_lpar_resize_hpt(unsigned long shift)
> >> >
> >> > return 0;
> >> > }
> >> > +
> >> > +static ssize_t ppc64_pft_size_show(struct kobject *kobj,
> >> > + struct kobj_attribute *attr, char *buf)
> >> > +{
> >> > + return sprintf(buf, "%llu\n", (unsigned long long)ppc64_pft_size);
> >> > +}
> >> > +
> >> > +static ssize_t ppc64_pft_size_store(struct kobject *kobj,
> >> > + struct kobj_attribute *attr,
> >> > + const char *buf, size_t count)
> >> > +{
> >> > + unsigned long new_shift;
> >> > + int rc;
> >> > +
> >> > + pr_err("lpar: ppc64_pft_size_store() count=%zd\n", count);
> >> Why pr_err?
> >
> > Uh.. good question. That's a not particularly useful debug comment I
> > should just remove anyway.
> >
> >> > +
> >> > + if (kstrtoul(buf, 0, &new_shift))
> >> > + return -EINVAL;
> >> > +
> >> > + rc = pSeries_lpar_resize_hpt(new_shift);
> >> > + if (rc < 0)
> >> > + return rc;
> >> > +
> >> > + return count;
> >> > +}
> >> > +
> >> > +static struct kobj_attribute ppc64_pft_size_attr =
> >> > + __ATTR(ppc64_pft_size, 0600, ppc64_pft_size_show,
> >> > ppc64_pft_size_store);
> >> > +
> >> > +static int __init pseries_lpar_sysfs(void)
> >> > +{
> >> > + int rc;
> >> > +
> >> > + rc = sysfs_create_file(mm_kobj, &ppc64_pft_size_attr.attr);
> >> > + if (rc)
> >> > + pr_err("lpar: unable to create ppc64_pft_size sysfs file (%d)\n",
> >> > + rc);
> >> > +
> >> > + return 0;
> >> I think that we need to return rc value, right?
> >
> > No. Failing to register this sysfs file shouldn't cause the boot to fail.
> Then we don't need rc at all ;)
Except to report the error code in the message, which is useful.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-12-24 6:58 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 5:14 [RFC 0/3] Prototype PAPR hash page table resizing (guest side) David Gibson
2015-12-22 5:14 ` [RFC 1/3] pseries: Add hypercall wrappers for hash page table resizing David Gibson
2015-12-22 5:14 ` [RFC 2/3] pseries: Add support for hash " David Gibson
2015-12-22 5:14 ` [RFC 3/3] pseries: sysfs hack to trigger a hash page table resize David Gibson
2015-12-22 11:19 ` Denis Kirjanov
2015-12-23 8:45 ` David Gibson
2015-12-23 12:16 ` Denis Kirjanov
2015-12-24 6:37 ` David Gibson [this message]
2015-12-24 9:22 ` [RFC 0/3] Prototype PAPR hash page table resizing (guest side) Anshuman Khandual
2015-12-24 10:38 ` David Gibson
2015-12-28 4:39 ` Anshuman Khandual
2015-12-29 4:09 ` David Gibson
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=20151224063734.GX3011@voom.redhat.com \
--to=david@gibson.dropbear.id.au \
--cc=benh@kernel.crashing.org \
--cc=bharata@linux.vnet.ibm.com \
--cc=kda@linux-powerpc.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=lvivier@redhat.com \
--cc=paulus@samba.org \
--cc=thuth@redhat.com \
/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.