/srv/irclogs.ubuntu.com/2015/06/22/#ubuntu-kernel.txt

=== hughhalf_ is now known as hughhalf
=== davmor2_ is now known as davmor2
=== rbasak_ is now known as rbasak
=== owlman_ is now known as owlman
sturmflut2cking: Ping13:21
ckingsturmflut2, hiya13:22
sturmflut2cking: Hey, I ran into an oddity while running eventstat on arale: sometimes the "[swapper]" kernel task shows up as PID 1. Any idea about how that is even possible?13:23
ckingsturmflut2, is that running in a container?13:23
sturmflut2cking: Not that I know of, and that wouldn't explain it. Strangely enough this is even present in the in-kernel Documentation, https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/timers/timer_stats.txt#n5613:24
ckingsturmflut2, well, since eventstat uses /proc/timer_stats that's where i'm getting this info from, so it's coming from the kernel and not eventstat per se13:26
sturmflut2I've never seen it on my Ubuntu 15.04 desktop, but on arale (3.10.x kernel) it's always there13:26
ckingsturmflut2, no idea of the top of my head13:27
ckings/of/off13:27
* cking has a poke around at the source13:28
* ogra_ finds the etra used/reported memory even more curious than that PID thing13:29
ogra_*extra13:29
ogra_since that will for sure have some heavy impact13:29
ckinghrm,  the timers_stats code hasn't radically checked between those kernels, so  I really don't know.13:34
ckings/checked/changed/13:34
ckingdoh13:34
ckingI suspect the comm field (that contains the short process name) for init has been cached after it got created before the process could change it. so just ignore it, it's definitely the correct pid13:37
ogra_cking, well, probably it sees the swapper from the lxc container (where another init runs that is presented as PID1 inside the container (and outside with a different PID to the host system)13:37
ckingogra_, that too, event most probably has issues with containers13:38
cking..mainly because it has to go on what timer_stats provides as the pid13:38
ckingwhich can be different for the pid inside the container, argh13:39
ogra_fun, aint it ? :)13:39
ckingbut the cached comm field probably explains the mismatch as shown in the documentation13:39
ckingwhen dealing with /proc, it's going to be racy :-/13:40
=== smoser` is now known as smoser
JinqiuYuhi, there.  I try to compile stree-ng on my cent os host,  and I get " perf.c:77: error: ‘PERF_COUNT_HW_REF_CPU_CYCLES’ undeclared here (not in a function)"  errors , how can I fix it ? 14:32
sturmflut2cking, ogra_: But the swapper is an in-kernel process. It's the kernel scheduler. It is not part of a container, and I just now found a couple of boxes here at work that don't even run containers, but also show a swapper as PID 114:54
ckingsturmflut2, as I mentioned earlier, "I suspect the comm field (that contains the short process name) for init has been cached after it got created before the process could change it. so just ignore it, it's definitely the correct pid"14:55
sturmflut2cking: Yes, something like that probably. But my fear is that if something like this happened and nobody noticed the mismatch, can we trust the rest of the output on arale's kernel14:59
ckingsturmflut2, what do you mean "rest of the output"? that's a wide statement15:00
sturmflut2cking: If there is one location in the kernel where something allocates a timer, and at this place the wrong information is put into a data structure, can we be sure that it happens only at exactly this one place?15:09
sturmflut2cking: I too think it's just this one, but it raises a bit of suspicion15:10
ckingsturmflut2, the wrong info is not cached, just that it changes after it got cached. the PID is sane, just the cached comm field my be out of date. but really, since we key off the PID anyhow, it's academic on the name, since the PID is what matters15:11
sturmflut2cking: I don't think it's the PID that's sane, the full entry in my case is the following15:12
sturmflut2    1.00     1 [swapper/0]     start_bandwidth_timer     sched_rt_period_timer15:12
sturmflut2start_bandwidth_timer and sched_rt_period_timer are actual kernel functions in the scheduler15:12
sturmflut2if the PID is sane, then all of "Task", "Init function" and "Callback" are wrong15:13
sturmflut2cking: And PID 1 is upstart, which doesn't seem to register a single timer15:15
sturmflut2cking: I'll have a look at the kernel source code, maybe I can find a definitive answer15:15
ckingsturmflut2, if I had 36 hours in a day, I'd look into it, but for now, this does seem just like a minor issue compared the the other stuff ogra was mentioning15:16
sturmflut2cking: :)15:16
ckingif there was a process that was eating 50+ wakeups per second, I'd sweat over it15:16
sturmflut2cking: Let's combine your 24 hours and my 12 hours a day, then we can do it ;)15:24
ckingwhy not your 24 and my 12 :-)15:25
sturmflut2cking: Well, Canonical does not (yet) pay for my services ;)15:25
sturmflut2So I need this thing called "real work"15:26
ckingsturmflut2, ok, me too, canonical pays me at the moment to do some higher priority kernel file system related work ;-)15:26
ogra_cking, just tell them snappy uses ext4 only anyway :P15:38
ogra_who needs other filesystems :P15:38
ckingogra_, the server and cloud folk perchance15:38
ogra_pfft 15:38
manjoapw, you know how on tangerine when you schroot it lets you build directories in your home dir ? How was the chroot home linked to user home dir ? 16:08
=== jdstrand_ is now known as jdstrand
=== rtg is now known as Guest41164
infinitymanjo: It's a bind mount.17:45
manjoinfinity, thanks.. yes I figured out what I was missing in my profile 17:57
=== nessita_ is now known as nessita
=== elmo_ is now known as elmo

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!