Received: by 2002:a05:6a10:1a4d:0:0:0:0 with SMTP id nk13csp2414666pxb; Thu, 3 Feb 2022 06:15:01 -0800 (PST) X-Google-Smtp-Source: ABdhPJzAk3XhsQPQzXKbig4VGUTCsmJnRQ9Qv1JL1EdIXDzUL/LKDXXcYXuiVeCxcIMFrDq+6Wr7 X-Received: by 2002:a05:6402:348c:: with SMTP id v12mr35287046edc.384.1643897701516; Thu, 03 Feb 2022 06:15:01 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1643897701; cv=none; d=google.com; s=arc-20160816; b=V4lN/f7mRZlns9ZGSJOsLVHYJ4sKEJkbcjqv5wkaZWeSAv/Xe1gSc7ri6yMWRDkAaz 6oqaS5w80lLWb1jhbx3ZuuZzbSDjZDSTlLb70UGaj0VOwXGmNTqelhpTpow+IgaM7CT9 HDWiBYDfwatGleUNZqOwoZA83+JB4WqUYN/KhtWNogk3syOSLJ0DhVEomyiztorhOhAE w68IPTusDwv4qZISI20g+pGI/bSGm5Q2X/XxtsmmRTbHxwho01moUK9xmeDsTgOcJJ27 W1wf/6Vo+Hx8i+EG/PnJ2TFluri+28zAx8B9bcdbm01PCaXB4023648A3A/MOHoKqCYN lSvw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=+AamInyOOTBBGovz85dTdC8owJuF7NBk/tyX7bBLgOk=; b=Ymzcq0iqHrBQnEfmsnWquW/CZNyNjHuRH3xaInnPuDDALJzAdELeZrZ7JYpRqM2LyO ycQwuhqiohkMfJuJeZcg8V3ggEKRko7S4M8urbDpiOxbBg1GnKF6DAj2quWyCFPOr5f7 uVdum5JlHA3NdXN5ivqymb3ZNHnuEI7UAVqR4ZTUGk9LIS4amcAQEs21izWMMWghPi88 EcRgetQlbj16D9QhZ5lTa141UFmarzvuMBjzWuCI8LpDym+OkRcS0bndu8azcB2iQPPE lN9iu/6rD18myMwwKvcCmLT0z+QAeM3Bgu+9gH3hwpoK6JOyaMHILaOagS0ugFfkGbDa umwQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=H0g9b2FK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b8si12856320edk.124.2022.02.03.06.14.35; Thu, 03 Feb 2022 06:15:01 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=H0g9b2FK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 S1346345AbiBBRr5 (ORCPT + 99 others); Wed, 2 Feb 2022 12:47:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59902 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245487AbiBBRr4 (ORCPT ); Wed, 2 Feb 2022 12:47:56 -0500 Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DEE51C061714; Wed, 2 Feb 2022 09:47:55 -0800 (PST) Received: by mail-ej1-x62c.google.com with SMTP id k25so23563ejp.5; Wed, 02 Feb 2022 09:47:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+AamInyOOTBBGovz85dTdC8owJuF7NBk/tyX7bBLgOk=; b=H0g9b2FKQCmM+dXDcg/CEux+iY077CMc6zivamSyyAtG2GiCirq4qWNTJkuDuOcljp snvP7E39bJXkpJAGRnbLSQlB1wgijC1Hhi0Vr6QVCGPHfq5bqLJgiHKwMLkTGVE9UAKu cLc/U07SDXBBOPypX+8KUO6eH1VksG3UU12/lwDsT5BaEpkzLbEIi0q3ldVmGXVpng5r +8G2vlgcuwksg4Y/SCvCHqhwK9Mz/z+nKJ17+tH8Hr2qLOYV76Jeff+sEvG0FlXTDeQ5 vq2Gu1ENHU2G0+WfGfdyQazkNQHN2Ji8Gt0Gd646y2w5aY8z91v3rheIYzxPOQAMQtZr GdLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+AamInyOOTBBGovz85dTdC8owJuF7NBk/tyX7bBLgOk=; b=Ijcn/5DJfu8yIUelx85dI9GDGcAofF4CWgp8W1RMeq5+4fsxDcv8s2N+1r031Qey1w nFpiR4koYjcGqLqLuCUTzqmP7h1IMX1Ez2msy5CkvGeVew8AxGDWIRRW/VO1uY337Okz A835Z+kk9Jem2SaNDYxEqZqj6JIBhZZGvlHRU5fxcN3e/Asjc0PMiokSPQL1d85Eo39u kqSzhP33xi1A2pXciDf0U0oHZPFf2ubVDTM0Z/VB2SEdyro1BAWFN2GyheF98tFNEQYN +d9vYtNZfOvkUq5mcWV3PsIIxivy7pXd+YbgF1o9GBKcLJF366cZofPwoabeLFZKqB/T G9zA== X-Gm-Message-State: AOAM533xnXGSM929/5yTGYjRS9zX2H0KfJiHsLysJjhUwGIdME+2Wyo7 Vav+EAOrpPOzn7HnCEddn+OOwD1TbQiOEFLNTRc= X-Received: by 2002:a17:907:6e1a:: with SMTP id sd26mr25152915ejc.270.1643824074319; Wed, 02 Feb 2022 09:47:54 -0800 (PST) MIME-Version: 1.0 References: <20220126185153.417948-1-shy828301@gmail.com> In-Reply-To: From: Yang Shi Date: Wed, 2 Feb 2022 09:47:42 -0800 Message-ID: Subject: Re: [v5 PATCH] block: introduce block_rq_error tracepoint To: Christoph Hellwig Cc: Jens Axboe , Steven Rostedt , Cong Wang , linux-block@vger.kernel.org, Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jan 27, 2022 at 10:18 AM Yang Shi wrote: > > On Thu, Jan 27, 2022 at 1:53 AM Christoph Hellwig wrote: > > > > On Wed, Jan 26, 2022 at 10:51:53AM -0800, Yang Shi wrote: > > > + __entry->dev = rq->q->disk ? disk_devt(rq->q->disk) : 0; > > > + __assign_str(name, rq->q->disk ? rq->q->disk->disk_name : "?"); > > > > None f the other tracepoints has the disk name, why does this one need > > it? And if you add it please avoid the overly long line. > > I guess the disk name was added to ease some handling in userspace > tools. But if all other tracepoints don't have disk name shown, I > think I'd better follow the convention. I did overlook this when I > ported this patch. Will remove it. > > > > > > + __entry->sector = blk_rq_pos(rq); > > > + __entry->nr_sector = nr_bytes >> 9; > > > + __entry->error = blk_status_to_errno(error); > > > > This still converts the block status to an errno. > > I may misunderstand your comments. I just followed what > block_rq_complete tracepoint does. Or the linux-block community is > converting all tracepoints to show blk status code instead of > conventional errno? > > And the userspace tool doesn't know blk status code and still expects > the conventional errno. For example, rasdaemon reads block_rq_complete > events now and have the below: > > static const struct { > int error; > const char *name; > } blk_errors[] = { > { -EOPNOTSUPP, "operation not supported error" }, > { -ETIMEDOUT, "timeout error" }, > { -ENOSPC, "critical space allocation error" }, > { -ENOLINK, "recoverable transport error" }, > { -EREMOTEIO, "critical target error" }, > { -EBADE, "critical nexus error" }, > { -ENODATA, "critical medium error" }, > { -EILSEQ, "protection error" }, > { -ENOMEM, "kernel resource error" }, > { -EBUSY, "device resource error" }, > { -EAGAIN, "nonblocking retry error" }, > { -EREMCHG, "dm internal retry error" }, > { -EIO, "I/O error" }, > }; Gently ping. Should I print blk status code instead of errno for this trace point? But I really don't get why. And block_rq_complete tracepoint does: TP_fast_assign( __entry->dev = rq->q->disk ? disk_devt(rq->q->disk) : 0; __entry->sector = blk_rq_pos(rq); __entry->nr_sector = nr_bytes >> 9; __entry->error = blk_status_to_errno(error); <=== convert blk status code to errno blk_fill_rwbs(__entry->rwbs, rq->cmd_flags); __get_str(cmd)[0] = '\0'; ), > > This patch aims to add block_rq_err tracepoint to replace > block_rq_complete in rasdaemon.