All of lore.kernel.org
 help / color / mirror / Atom feed
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: Wed, 23 Dec 2015 19:45:48 +1100	[thread overview]
Message-ID: <20151223084548.GW3011@voom.redhat.com> (raw)
In-Reply-To: <CAOJe8K3U-wF-kMXWwXnR=fPf0UCVfaLnqLOBfXCJFHEcpoXy5A@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 2911 bytes --]

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.

> > +}
> > +machine_device_initcall(pseries, pseries_lpar_sysfs);
> >
> > _______________________________________________
> > Linuxppc-dev mailing list
> > Linuxppc-dev@lists.ozlabs.org
> > https://lists.ozlabs.org/listinfo/linuxppc-dev
> 

-- 
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 --]

  reply	other threads:[~2015-12-23  8:45 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 [this message]
2015-12-23 12:16       ` Denis Kirjanov
2015-12-24  6:37         ` David Gibson
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=20151223084548.GW3011@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.