On Wed, Apr 15, 2015 at 01:22:12PM -0700, Andy Lutomirski wrote: > This leads me to a potentially interesting question: where's the > buffering? If there's a bus with lots of untrusted clients and one of > them broadcasts data faster than all receivers can process it, where > does it go? > > At least with a userspace solution, it's clear what the OOM killer > should kill when this happens. Unless it's PID 1. Sigh.
... and there is a PID 1 specimen that really likes to spew over dbus. A lot. I had never been able to find out _why_ does systemd feel like broadcasting all kinds of stuff from PID 1 - maybe somebody in this thread can answer that. For example, what's the point of broadcasting mount table updates, when * it can't hope to catch all individual changes - they _can_ get lumped together, no matter what it tries. * any process can just as easily keep track of that data on its own as it could by watching those broadcasts; parsing /proc/self/mountinfo isn't harder than parsing notifications. * you need to start with obtaining the original state somehow, or what would you apply those updates to? * if one insists on having a daemon doing such broadcasts, what the hell is the point of having PID 1 do that? Exact same logics would do just fine. Moreover, you could have one running in a namespace of your session, which is something PID 1 won't see. Sure, I understand why it wants to be aware of what's mounted and where it's mounted. Just as it wants to know what time it is. Should it broadcast a dbus message every second, just to tell everyone what had it found about the time? I'm somewhat tempted to propose AF_TWITTER - would match the style... ;-/ And frankly, this really looks like a social media braindamage - complete with status update broadcast every time a plane flies by... -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/