mesos-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Downes <ian.dow...@gmail.com>
Subject Re: Review Request 43284: Wait for perf statistics processes exit.
Date Mon, 08 Feb 2016 22:50:15 GMT


> On Feb. 8, 2016, 2:47 p.m., Ian Downes wrote:
> > src/slave/containerizer/mesos/isolators/cgroups/perf_event.cpp, lines 132-134
> > <https://reviews.apache.org/r/43284/diff/1/?file=1237013#file1237013line132>
> >
> >     I think you should discard the future and let it do the correct thing -- kill
and reap the perf process -- rather than do a blocking await. The perf sample interval is
configurable and typical values are 10's of seconds.
> >     
> >     Note: I'm not sure if the correct behavior is implemented...

Actually, it looks like it might:

```
    virtual void initialize()
    {
      // Stop when no one cares.
      promise.future().onDiscard(lambda::bind(
          static_cast<void(*)(const UPID&, bool)>(terminate), self(), true));

      execute();
    }

    virtual void finalize()
    {
      // Kill the perf process (if it's still running) by sending
      // SIGTERM to the signal handler which will then SIGKILL the
      // perf process group created by setupChild.
      if (perf.isSome() && perf->status().isPending()) {
        kill(perf->pid(), SIGTERM);
      }

      promise.discard();
    }
```


- Ian


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/43284/#review118312
-----------------------------------------------------------


On Feb. 7, 2016, 12:19 a.m., haosdent huang wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/43284/
> -----------------------------------------------------------
> 
> (Updated Feb. 7, 2016, 12:19 a.m.)
> 
> 
> Review request for mesos, Ian Downes, Jan Schlicht, and Paul Brett.
> 
> 
> Bugs: MESOS-4039
>     https://issues.apache.org/jira/browse/MESOS-4039
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> Wait for perf statistics processes exit.
> 
> 
> Diffs
> -----
> 
>   src/slave/containerizer/mesos/isolators/cgroups/perf_event.hpp 65e731886b9e5cac07ae3ad6398faf8f50de5650

>   src/slave/containerizer/mesos/isolators/cgroups/perf_event.cpp 5ef4ae5c468580352cd16e7716b9ca4c0acde659

> 
> Diff: https://reviews.apache.org/r/43284/diff/
> 
> 
> Testing
> -------
> 
> Without this patch, when running 
> ```
> sudo GLOG_v=1 ./bin/mesos-tests.sh --gtest_filter="PerfEventIsolatorTest.ROOT_CGROUPS_Sample"
--verbose
> ```
> , would got this error
> ```
> [----------] Global test environment tear-down
> ../../src/tests/environment.cpp:732: Failure
> Failed
> Tests completed with child processes remaining:
> -+- 16501 /home/haosdent/mesos/build/src/.libs/lt-mesos-tests --gtest_filter=PerfEventIsolatorTest.ROOT_CGROUPS_Sample
--verbose
>  |-+- 16580 /home/haosdent/mesos/build/src/.libs/lt-mesos-tests --gtest_filter=PerfEventIsolatorTest.ROOT_CGROUPS_Sample
--verbose
>  | -+- 16582 perf stat --all-cpus --field-separator , --log-fd 1 --event cycles --cgroup
mesos/239d30bb-f7a1-413b-9d99-0914149d5899 --event task-clock --cgroup mesos/239d30bb-f7a1-413b-9d99-0914149d5899
-- sleep 0.25
>  |   --- 16584 sleep 0.25
>  --- 16581 ()
> [==========] 1 test from 1 test case ran. (4095 ms total)
> ```
> 
> This also fix similar error in `MesosContainerizerSlaveRecoveryTest.CGROUPS_ROOT_PerfRollForward`
and `CgroupsAnyHierarchyWithPerfEventTest.ROOT_CGROUPS_Perf`.
> 
> 
> Thanks,
> 
> haosdent huang
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message