Hello Peter, On Sat, 2010-11-13 at 20:39 +0100, Peter Zijlstra wrote: > On Thu, 2010-11-11 at 18:03 +0100, Michael Holzheu wrote: > > + if (cmd_pids->cnt > 1000) // XXX socket buffer size check > > What's the implication of this limit? Does that mean that if there's > more than 1000 tasks on the system the whole interface falls flat on its > face or does that mean we get at most 1000 tasks worth of information > per syscall? In the final code I wanted to replace the check for 1000 by a check for the available socket buffer. Currently I am not sure, if this is possible. "cmd_pids->cnt" is the number of taskstats that userspace requests from the kernel. When the request is processed, the kernel sends cnt taskstats structures to the netlink socket. This is buffered in the netlink socket until userspace receives it. Because the socket buffer is limited in size there is an upper limit for the number of taskstats structures that can be received with one TASKSTATS_CMD_ATTR_PIDS command. If the user wants to receive more than that limit, he has to send multiple TASKSTATS_CMD_ATTR_PIDS commands. Michael -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html