Trivial simple.d additions #40

Open
wants to merge 3 commits into
from

Projects

None yet

2 participants

@Shnatsel
Contributor

It's me again with another round of trivial simple.d additions. This time I have:

  • Ubuntu Software Center Xapian DB updates [user.idle]
  • Ubuntu crash report manipulation [user.idle]
  • Ayatana indicators as [user.ui]
  • Trivial updates for elementary's Pantheon DE rules

I've also reverted an earlier commit that made XFCE thumbnailer a high-priority process because some apps abuse it.

Thanks!

@gajdusek

Hello Shnatsel,

These all package managements binaries are commonly (in my case really frequently) invoking manually by user, impatiently waiting for them to finish .

And for the background case, rather

  • an application spawning these (e.g. cron, anacron) should be penalized. This is already handled by rules/system.lua, though IOPRIO_CLASS_BE is still high for me.
  • or check if those binaries are uninteractive and only if they are, penalize them directly. May be one of following is the right way (?):
    • traverse up the processes and find if parent is cron
    • check process environment for some variable set only by cron
    • check the non-existence of XDG_SESSION_COOKIE
    • check for non-existence of TTY
  • customize individual cron entries or /etc/anacrontab and /etc/crontab

I personally have moved cron|anacron to SystemIdle filter (IOPRIO_CLASS_IDLE + daemon.idle label).
But the cron tasks is probably better not to generalize, as for some of them may be pretty important to finish quickly even on heavy loaded system.

What do you think?

Cheers, Petr

Owner

Hello Petr,

Thanks for the detailed comments!

It seems that the situation is even more complicated, because there are PackageKit and AptDaemon, and at least AptDaemon is known to spawn dpkg process that gets resource-hungry. Both are D-bus-activated and I think the activating process cannot be tracked down without monitoring d-bus activity (but I'd be glad to be proven wrong).

Either way, this requires way more complicated Lua rules, if doable at all, so I'm dropping this simple.d nonsense.

Oh, and if IOPRIO_CLASS_BE is still high for cron jobs, I guess it's a bug in system.lua and should be fixed there.

@gajdusek

But the daemons are spawned under specific user, e.g. root, aren't they? So they should be scheduled correctly (after delay_new_pid ms) even having user.idle label. If they are not, there is a logic error in scheduler mappings (ordering of rules). And there are errors, but if I can see, user.idle should be handled correctly (ignored if not run under regular user), though daemon.idle would be problem.

But not using inheritance because of this would be pity.

PS: Now I see that blkio/bfqio user.idle rules do not check EUID, though the daemons are reparented to init., so they do not inherit flags from package management binaries anyway.

Shnatsel added some commits Aug 17, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment