Re: [Powertop] [PATCH 1/2] perf: Pass 0 as a third argument to ioctl on perf_fd
Sergey Senozhatsky <sergey.senozhatsky at gmail.com> Mon, 17 Sep 2012 02:17:30 +0300
| Newsgroups | dev.linux.lists.powertop |
|---|---|
| Message-ID | <20120916231730.GB3092@swordfish> |
--===============0480222678334903547==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
On (09/16/12 23:17), Namhyung Kim wrote:
> The third argument of PERF_EVENT_IOC_{ENABLE,DISABLE} ioctl is a flag
> to determine whether the command should be applied to group members.
> Since the powertop doesn't use the event grouping feature, it'd better
> passing 0 as a third argument explicitly.
>
[..]
<+629>: mov -0x88(%rbp),%rax
<+636>: mov 0x8(%rax),%eax
<+639>: mov $0x2400,%esi
<+644>: mov %eax,%edi
<+646>: mov $0x0,%eax
<+651>: callq 0x404460 <ioctl(a)plt>
[..]
agree, let's pass 0 explicitly to perf_ioctl():
3307
3308 if (flags & PERF_IOC_FLAG_GROUP)
3309 perf_event_for_each(event, func);
3310 else
3311 perf_event_for_each_child(event, func);
3312 =
good catch, thank you!
-ss
=
> Signed-off-by: Namhyung Kim <namhyung(a)gmail.com>
> ---
> src/perf/perf.cpp | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
> =
> diff --git a/src/perf/perf.cpp b/src/perf/perf.cpp
> index 69f1da3..c8ba7a8 100644
> --- a/src/perf/perf.cpp
> +++ b/src/perf/perf.cpp
> @@ -128,7 +128,7 @@ void perf_event::create_perf_event(char *eventname, i=
nt _cpu)
> return;
> }
> =
> - ret =3D ioctl(perf_fd, PERF_EVENT_IOC_ENABLE);
> + ret =3D ioctl(perf_fd, PERF_EVENT_IOC_ENABLE, 0);
> =
> if (ret < 0) {
> fprintf(stderr, "failed to enable perf \n");
> @@ -210,7 +210,7 @@ void perf_event::start(void)
> void perf_event::stop(void)
> {
> int ret;
> - ret =3D ioctl(perf_fd, PERF_EVENT_IOC_DISABLE);
> + ret =3D ioctl(perf_fd, PERF_EVENT_IOC_DISABLE, 0);
> if (ret)
> cout << "stop failing\n";
> }
>=20
--===============0480222678334903547==--