From: Dimitri Sivanich <sivanich@sgi.com>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: LKML <linux-kernel@vger.kernel.org>,
Ingo Molnar <mingo@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
John Stultz <johnstul@us.ibm.com>
Subject: Re: [PATCH] specific do_timer_cpu value for nohz off mode
Date: Fri, 2 Sep 2011 15:39:17 -0500 [thread overview]
Message-ID: <20110902203917.GA340@sgi.com> (raw)
In-Reply-To: <alpine.LFD.2.02.1109022155080.2723@ionos>
On Fri, Sep 02, 2011 at 09:57:59PM +0200, Thomas Gleixner wrote:
> On Fri, 2 Sep 2011, Dimitri Sivanich wrote:
> > On Fri, Sep 02, 2011 at 10:19:36AM +0200, Thomas Gleixner wrote:
> > +#ifdef CONFIG_SYSFS
> > +/**
> > + * sysfs_show_do_timer_cpu - sysfs interface for tick_do_timer_cpu
> > + * @dev: unused
> > + * @buf: char buffer where value of tick_do_timer_cpu is copied
> > + *
> > + * Provides sysfs interface for showing the current tick_do_timer_cpu.
> > + */
> > +static ssize_t
> > +sysfs_show_do_timer_cpu(struct sys_device *dev,
> > + struct sysdev_attribute *attr, char *buf)
> > +{
> > + ssize_t count = 0;
> > +
> > + count = snprintf(buf, PAGE_SIZE, "%d\n", tick_do_timer_cpu);
> > +
> > + return count;
> > +}
> > +
> > +/**
> > + * sysfs_override_do_timer_cpu - manually override tick_do_timer_cpu
> > + * @dev: unused
> > + * @buf: cpu number of desired tick_do_timer_cpu
> > + * @count: length of buffer
> > + *
> > + * Takes input from sysfs interface for manually overriding the selected
> > + * tick_do_timer_cpu. Only applicable when not running in nohz mode.
> > + */
> > +static ssize_t
> > +sysfs_override_do_timer_cpu(struct sys_device *dev,
> > + struct sysdev_attribute *attr,
> > + const char *buf, size_t count)
> > +{
> > + char b[16];
> > + size_t ret = count;
> > + int c;
> > +
> > +#ifdef CONFIG_NO_HZ
> > + /* nohz mode not supported */
> > + if (tick_nohz_enabled)
> > + return -EINVAL;
> > +#endif
> > + /* strings from sysfs write are not 0 terminated! */
> > + if (count >= sizeof(b))
> > + return -EINVAL;
> > +
> > + /* strip off \n: */
> > + if (buf[count-1] == '\n')
> > + count--;
> > + if (count < 1)
> > + return -EINVAL;
> > +
> > + memcpy(b, buf, count);
> > + b[count] = 0;
> > +
> > + if (sscanf(b, "%d", &c) != 1)
> > + return -EINVAL;
>
> Isn't there a function which parses sysfs writes into an integer ?
>
There is sysdev_store_int(), but one would need to define a
sysdev_ext_attribute specifying a global int (as 'var') to accept the value.
We would not want that value to be tick_do_timer_cpu, however.
Maybe there's another function that I'm missing?
Given the value restrictions for tick_do_timer_cpu, would you agree that it
seems simpler to leave it this way (or use some form of strtol) rather than
using sysdev_store_int?
next prev parent reply other threads:[~2011-09-02 20:39 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-08-17 16:07 [PATCH] specific do_timer_cpu value for nohz off mode Dimitri Sivanich
2011-08-17 16:47 ` Thomas Gleixner
2011-08-23 19:56 ` Dimitri Sivanich
2011-09-02 8:19 ` Thomas Gleixner
2011-09-02 19:29 ` Dimitri Sivanich
2011-09-02 19:57 ` Thomas Gleixner
2011-09-02 20:39 ` Dimitri Sivanich [this message]
-- strict thread matches above, loose matches on Subject: below --
2011-11-08 19:11 Dimitri Sivanich
2011-11-23 0:08 ` Andrew Morton
2011-11-30 15:29 ` Dimitri Sivanich
2011-12-01 0:11 ` Andrew Morton
2011-12-01 0:16 ` Andrew Morton
2011-12-01 2:07 ` Dimitri Sivanich
2011-12-01 2:13 ` Andrew Morton
2011-12-01 16:37 ` Dimitri Sivanich
2011-12-01 22:56 ` Andrew Morton
2011-12-02 20:14 ` Dimitri Sivanich
2011-12-02 20:22 ` Dimitri Sivanich
2011-12-02 22:42 ` Thomas Gleixner
2011-12-01 2:06 ` Dimitri Sivanich
2011-12-01 2:12 ` Andrew Morton
2011-12-01 2:34 ` Dimitri Sivanich
2011-12-01 2:38 ` Andrew Morton
2012-01-15 13:46 ` Mike Galbraith
2012-01-15 14:04 ` Mike Galbraith
2012-01-15 14:23 ` Mike Galbraith
2012-01-25 11:27 ` Mike Galbraith
2012-02-15 14:16 ` Thomas Gleixner
2012-02-15 14:37 ` Dimitri Sivanich
2012-02-15 14:52 ` Thomas Gleixner
2012-02-15 15:34 ` Dimitri Sivanich
2012-02-15 20:36 ` Thomas Gleixner
2012-02-16 14:59 ` Dimitri Sivanich
2011-08-03 19:57 Dimitri Sivanich
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=20110902203917.GA340@sgi.com \
--to=sivanich@sgi.com \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox