Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1208092ybv; Thu, 13 Feb 2020 18:10:27 -0800 (PST) X-Google-Smtp-Source: APXvYqxvUHLELoJKOAIvhEeR+JVzcsMCxBPNQKPC5bR6FGbG95Z9Jim4MQjBLNegx3ViXbEhrjCU X-Received: by 2002:aca:d610:: with SMTP id n16mr409230oig.108.1581646227153; Thu, 13 Feb 2020 18:10:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1581646227; cv=none; d=google.com; s=arc-20160816; b=wCm2ib2PCrUYVlJXJWC8G6yD+qDeba40iIY37J4T2LwMwAUcSR44kqIJjEeApXQvxU 3BcZeVphGox861SyvXDaZnebM5JzN6fZ+S6IBrj63wQc86b73eju8slBNhmpat+wEKYz Ij8TyMtu6ZoGG5kSqOWF1xdY6Gm4b4HsePJJ9kcnTWtoh8FHmu1x5L8s9JVxdK7TIJID Och6r3KJWGIYVJWSlXRJSH9RPbG+eumrr70TzBQ/YrYFXSJ2kOXV6saCOB+g6lNdXGjm q2MVBiOUrfXaMgAWdbgKrKNQnOvIcCYMVpnC6d/u6R529lLnauufWFlyuKQJUSkrGkCj HxLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=r2TroXA0yUI8fmWitO9N7P1hbpfN+w2qKJ2a2K3uBEs=; b=rqnwqf0axtxRn3MU82VZ85D26aJcOtRQQEVM/+rz8qr6VU0Nor18/FBekFSVw641Lw srKC1iBGsWhD8aww0rRSmpDKZ7urDpSsR7hyyHFtuY18d9wNshhy4nYgTSn3krLqmIp4 4rT52/hzV0WAXnMxieq6+z/JvieLGBTBTO8lTFjM8346hJvzbwF2OXIFuvhlV4ummYtv Yxt5nCitF3jm7zylBaoJfcvGculyDiEbypDNG/sV0jaDJPmLo5oDSqJ4bblHoUKfziae m2awovfWkZJcb4FGn3GbK8wVgDXvTZnWjYcQM+hysCEObDwb1spwKVPVNscOMvlehq3S HqOA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=sru0PbvO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id a6si1866260oia.33.2020.02.13.18.10.13; Thu, 13 Feb 2020 18:10:27 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=sru0PbvO; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728219AbgBNCJj (ORCPT + 99 others); Thu, 13 Feb 2020 21:09:39 -0500 Received: from mail-pl1-f193.google.com ([209.85.214.193]:39311 "EHLO mail-pl1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727955AbgBNCJi (ORCPT ); Thu, 13 Feb 2020 21:09:38 -0500 Received: by mail-pl1-f193.google.com with SMTP id g6so3110461plp.6 for ; Thu, 13 Feb 2020 18:09:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=r2TroXA0yUI8fmWitO9N7P1hbpfN+w2qKJ2a2K3uBEs=; b=sru0PbvOJAEZZXTDaGXULSnWwdXKguUxzS3d4INf7nRpZZNUJEw5pvsk3qe8a91kCY nCAGD3OVgkkMTpr1uW0SUvWgqW9ITpkjgeiXedjFqp30lJJbk/r1MSqzhS1T47/3kY5S aoNi0r+WCHSGznV5AGXG5lUPuwYXUx5iGdxBXJDRlEB+G/1haaG5PJGu4eWauH52YXiy wi4ou8UWvSxxoeRDOU3VqM5wNn5V3oJUwFWX6pcZPLcKFLIDco12qSB84VBJmyNBHAri rub5CShxxQ0j4TA8hZQgxi+uIvjjUbSCfDGX7j9XQzSsTQ/XFmRmjpQwHF93JMyE2hP4 YT3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=r2TroXA0yUI8fmWitO9N7P1hbpfN+w2qKJ2a2K3uBEs=; b=FHV5KdeahOHz/mzIFIHnbciTlacnh+SQQVoBN/NaZIRv1kIb7ZshfgbT6GbER4HYbp reWBMGlULUZ9HIH4L9hua64U0VlrhpCZTV4AM034Fg2QemZTUDEO/2kWs/e8a4D3ew9i SaKfI21DLEQGOjYjjW9fq4F7W5E6he8K6eCkP8kML4sHOntQpgKkHyAHpOXHQbq+w1hi Axli94TBDPvnkOjEKWlFBi0hqtHv9j2+wSfNVf+L0RnRNpwI30bpKHC5Pu150s4KkKcP Aty/zEb1yy8ToePY+Lthfm+4bnl6Tmmn+Rq0DSqZGBlVQrEO0ndMJ1Rdl81SnTMHDU1z STFg== X-Gm-Message-State: APjAAAWyl5hUHmqeqeRdubTAmq4bgPtsvMDghJpa1M8RrcPnXAxd7zFV 4HF6lp0KffYUVuVrIp4MU7A= X-Received: by 2002:a17:90b:1245:: with SMTP id gx5mr593150pjb.105.1581646178190; Thu, 13 Feb 2020 18:09:38 -0800 (PST) Received: from localhost ([2401:fa00:8f:203:5bbb:c872:f2b1:f53b]) by smtp.gmail.com with ESMTPSA id 72sm4835507pfw.7.2020.02.13.18.09.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Feb 2020 18:09:37 -0800 (PST) Date: Fri, 14 Feb 2020 11:09:35 +0900 From: Sergey Senozhatsky To: John Ogness Cc: Petr Mladek , Peter Zijlstra , Sergey Senozhatsky , Steven Rostedt , Linus Torvalds , Greg Kroah-Hartman , Andrea Parri , Thomas Gleixner , kexec@lists.infradead.org, linux-kernel@vger.kernel.org, Sergey Senozhatsky Subject: Re: [PATCH 2/2] printk: use the lockless ringbuffer Message-ID: <20200214020935.GF36551@google.com> References: <20200128161948.8524-1-john.ogness@linutronix.de> <20200128161948.8524-3-john.ogness@linutronix.de> <20200213090757.GA36551@google.com> <87v9oarfg4.fsf@linutronix.de> <20200213115957.GC36551@google.com> <87pneiyv12.fsf@linutronix.de> <20200214014113.GE36551@google.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200214014113.GE36551@google.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On (20/02/14 10:41), Sergey Senozhatsky wrote: > On (20/02/13 23:36), John Ogness wrote: [..] > > We could implement it such that devkmsg_read() will skip over data-less > > records instead of issuing an EPIPE. (That is what dmesg does.) But then > > do we need EPIPE at all? The reader can see that is has missed records > > by tracking the sequence number, so could we just get rid of EPIPE? Then > > cat(1) would be a great tool to view the raw ringbuffer. Please share > > your thoughts on this. > > Looking at systemd/src/journal/journald-kmsg.c : server_read_dev_kmsg() > -EPIPE is just one of the erronos they handle, nothing special. Could it > be the case that some other loggers would have special handling for EPIPE? > I'm not sure, let's look around. rsyslog static void readkmsg(void) { int i; uchar pRcv[8192+1]; char errmsg[2048]; for (;;) { dbgprintf("imkmsg waiting for kernel log line\n"); /* every read() from the opened device node receives one record of the printk buffer */ i = read(fklog, pRcv, 8192); if (i > 0) { /* successful read of message of nonzero length */ pRcv[i] = '\0'; } else if (i == -EPIPE) { imkmsgLogIntMsg(LOG_WARNING, "imkmsg: some messages in circular buffer got overwritten"); continue; } else { /* something went wrong - error or zero length message */ if (i < 0 && errno != EINTR && errno != EAGAIN) { /* error occured */ imkmsgLogIntMsg(LOG_ERR, "imkmsg: error reading kernel log - shutting down: %s", rs_strerror_r(errno, errmsg, sizeof(errmsg))); fklog = -1; } break; } submitSyslog(pRcv); } } So EPIPE errno better stay around. -ss