From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.5 required=3.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED,DKIM_INVALID,DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD878C433E0 for ; Fri, 15 Jan 2021 13:03:50 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 742A822473 for ; Fri, 15 Jan 2021 13:03:50 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 742A822473 Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 04E0B8D016A; Fri, 15 Jan 2021 08:03:49 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F40018D0169; Fri, 15 Jan 2021 08:03:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E2F968D016A; Fri, 15 Jan 2021 08:03:48 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0128.hostedemail.com [216.40.44.128]) by kanga.kvack.org (Postfix) with ESMTP id CAD018D0169 for ; Fri, 15 Jan 2021 08:03:48 -0500 (EST) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with ESMTP id 97FDB1264 for ; Fri, 15 Jan 2021 13:03:48 +0000 (UTC) X-FDA: 77708026536.26.money05_0700d882752f Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin26.hostedemail.com (Postfix) with ESMTP id 72EFA18012894 for ; Fri, 15 Jan 2021 13:03:48 +0000 (UTC) X-HE-Tag: money05_0700d882752f X-Filterd-Recvd-Size: 5568 Received: from mail-wr1-f73.google.com (mail-wr1-f73.google.com [209.85.221.73]) by imf05.hostedemail.com (Postfix) with ESMTP for ; Fri, 15 Jan 2021 13:03:47 +0000 (UTC) Received: by mail-wr1-f73.google.com with SMTP id b8so4132533wrv.14 for ; Fri, 15 Jan 2021 05:03:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=sender:date:in-reply-to:message-id:mime-version:references:subject :from:to:cc; bh=jOOfDKQx1+jPnbv33agbvLGtXZ2MbhOFvMWdPLPRW0k=; b=Dlq9uaH+pIB75P7MKmxH+aUEe4eGD10sBNXqDWp/qunB8HR5dcReV4Z2eIviWjc/P6 Vt9jvadWbhJp0D/aZyhiP5wGE9wQUsQOTnCiPaeWNPQtfFPRCz03VlSdmi7ysHZYwIZI 5Xl/6HCkGZ4QSXNEmK3ER8XR4fdzYRouvHBhg/CCMlMVhbhHGQ8OiXqSWNCNhiWDwY44 tgRMA4O3D/h+Kl1w9S9GWC/D0XgVxFyq3CcgG+q4XB7UdyoFR1t7RCDatIifBKIzb2vg m8QhBN3U2fPqoxqC4zcLDc26MpSEyLwLG/ezS0R+ihp/jH0mtIbqNBEKqNPZiYOjtcKL RM8w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=jOOfDKQx1+jPnbv33agbvLGtXZ2MbhOFvMWdPLPRW0k=; b=niQlfTOPjmoDhEznYZcyUuT0wDMSY0KlIy2nLNu2ipR4vfgEi/1c6mPPwcwdy+kuvS fZlhJU7VhDc6ihZBI5NCxe5NgD0g7RC//DIKhE/qzRVTz8hR+TXS3CjDaXTVWriHlqxK m84s9RjaKvlPgpADPgunlz8hAF59m6hBrKCzX5OPmjT6t2vSMICSMaZY96U1VNMpKwMQ qP4Pase9ZtoRRpau2LdvwaE94brvESEVGckpxLGWqVfdiN5mQK1BHBzXGx2nP3Hs/AT4 d7I0EpPJP2LEb/JCgBQCUzrkHYsfF3YIXee/D4yvw18jCKR/YvLWQ5qtXm2Bms7Y0yHe uBDA== X-Gm-Message-State: AOAM531sfn8Yhe8AZ20mF9vHL0G4w9pPN7Z6k76O2KjvSqmlY/WWUV7A GLIKNlnBseemSF8VPqdd3QkDopqwToY= X-Google-Smtp-Source: ABdhPJxlZI7UXjDHh8f5aiGTii0hBsMm1kPklYbJotEJlDg6aIGyTVeSV+JktC6XgXB8pT4mP8GUISHL+JI= X-Received: from glider.muc.corp.google.com ([2a00:79e0:15:13:f693:9fff:fef4:9ff]) (user=glider job=sendgmr) by 2002:a1c:2c89:: with SMTP id s131mr934933wms.0.1610715826432; Fri, 15 Jan 2021 05:03:46 -0800 (PST) Date: Fri, 15 Jan 2021 14:03:34 +0100 In-Reply-To: <20210115130336.2520663-1-glider@google.com> Message-Id: <20210115130336.2520663-4-glider@google.com> Mime-Version: 1.0 References: <20210115130336.2520663-1-glider@google.com> X-Mailer: git-send-email 2.30.0.284.gd98b1dd5eaa7-goog Subject: [PATCH v2 3/5] docs: ABI: add /sys/kernel/error_report/ documentation From: Alexander Potapenko To: linux-kernel@vger.kernel.org, akpm@linux-foundation.org Cc: andreyknvl@google.com, dvyukov@google.com, mingo@redhat.com, elver@google.com, pmladek@suse.com, rostedt@goodmis.org, sergey.senozhatsky@gmail.com, glider@google.com, linux-mm@kvack.org Content-Type: text/plain; charset="UTF-8" X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Add ABI documentation for files in /sys/kernel/error_report/ Requested-by: Andrew Morton Cc: Andrew Morton Cc: Andrey Konovalov Cc: Dmitry Vyukov Cc: Ingo Molnar Cc: Marco Elver Cc: Petr Mladek Cc: Steven Rostedt Cc: Sergey Senozhatsky Cc: linux-mm@kvack.org Signed-off-by: Alexander Potapenko --- .../ABI/testing/sysfs-kernel-error_report | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Documentation/ABI/testing/sysfs-kernel-error_report diff --git a/Documentation/ABI/testing/sysfs-kernel-error_report b/Documentation/ABI/testing/sysfs-kernel-error_report new file mode 100644 index 000000000000..666d039f93a9 --- /dev/null +++ b/Documentation/ABI/testing/sysfs-kernel-error_report @@ -0,0 +1,41 @@ +What: /sys/kernel/error_report/ +Date: January 2021 +Contact: Alexander Potapenko , + Marco Elver +Description: + /sys/kernel/error_report/ contains two files: "report_count" + and "last_report". These files are used to notify userspace + about error reports from the enrolled kernel subsystems (those + that use error_report_start/error_report_end tracepoints). + + "report_count" contains the current number of reported errors. + This number is incremented every time the error_report_end + trace event occurs in the kernel. + + "last_report" contains the most recent error report; concurrent + report generation results in collection of any one report + ("last_report" may not be the last shown on the console). + A "report" is everything the task had printed to the console + between issuing the error_report_start and error_report_end + trace events. + + Due to sysfs limitations, the report size is truncated at + PAGE_SIZE. To save space, the leading info in square brackets + printed by CONFIG_PRINTK_TIME and CONFIG_PRINTK_CALLER is + trimmed from the output lines. + + Both files use sysfs_notify() to notify userspace about + changes. Userspace programs can use poll() to block until an + error is reported: + + pfd.fd = fd; + pfd.events = POLLPRI; + while (1) { + lseek(pfd.fd, 0, SEEK_SET); + poll(&pfd, 1, -1); + read(pfd.fd, buffer, PAGE_SIZE); + /* Process the report in @buffer. */ + } + + Files in /sys/kernel/error_report/ are available when + CONFIG_ERROR_REPORT_NOTIFY is enabled. -- 2.30.0.284.gd98b1dd5eaa7-goog