Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751441AbbFYFr2 (ORCPT ); Thu, 25 Jun 2015 01:47:28 -0400 Received: from cantor2.suse.de ([195.135.220.15]:50012 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751426AbbFYFrV (ORCPT ); Thu, 25 Jun 2015 01:47:21 -0400 Message-ID: <1435211229.11852.23.camel@stgolabs.net> Subject: Re: [PATCH v2] ipc: Modify message queue accounting to reflect both total user data and auxiliary kernel data From: Davidlohr Bueso To: Marcus Gelderie Cc: linux-kernel@vger.kernel.org, mtk.manpages@gmail.com, dhowells@redhat.com, viro@zeniv.linux.org.uk, dledford@redhat.com, John Duffy , Arto Bendiken , linux-api@vger.kernel.org, redmnic@gmail.com Date: Wed, 24 Jun 2015 22:47:09 -0700 In-Reply-To: <20150622222546.GA32432@ramsey.localdomain> References: <20150622222546.GA32432@ramsey.localdomain> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.12.11 Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1936 Lines: 43 On Tue, 2015-06-23 at 00:25 +0200, Marcus Gelderie wrote: > A while back, the message queue implementation in the kernel was > improved to use btrees to speed up retrieval of messages (commit > d6629859b36). The patch introducing the improved kernel handling of > message queues (using btrees) has, as a by-product, changed the > meaning of the QSIZE field in the pseudo-file created for the queue. > Before, this field reflected the size of the user-data in the queue. > Since, it also takes kernel data structures into account. For > example, if 13 bytes of user data are in the queue, on my machine the > file reports a size of 61 bytes. Good catch, and a nice opportunity to make the mq manpage more specific wrt to queue sizes. [...] > Reporting the size of the message queue in kernel has its merits, but > doing so in the QSIZE field of the pseudo file corresponding to the > queue is a breaking change, as mentioned above. This patch therefore > returns the QSIZE field to its original meaning. At the same time, > it introduces a new field QKERSIZE that reflects the size of the queue > in kernel (user data + kernel data). Hmmm I'm not sure about this. What are the specific benefits of having QKERSIZE? We don't export in-kernel data like this in any other ipc (posix or sysv) mechanism, afaik. Plus, we do not compromise kernel data structures like this, as we would break userspace if later we change posix_msg_tree_node. So NAK to this. I would just remove the extra + info->qsize += sizeof(struct posix_msg_tree_node); bits from d6629859b36 (along with -stable v3.5), plus a patch updating the manpage that this field only reflects user data. Thanks, Davidlohr -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/