Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp1106458pxb; Fri, 13 Nov 2020 04:32:16 -0800 (PST) X-Google-Smtp-Source: ABdhPJyiYOU94msht3ub/JlyKA/2Jmfyup/tDTVHM8NKyOeX5NkA7R1A9oA2eQd9hfLOfIibU1XS X-Received: by 2002:a17:906:2932:: with SMTP id v18mr1697453ejd.144.1605270736521; Fri, 13 Nov 2020 04:32:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605270736; cv=none; d=google.com; s=arc-20160816; b=q5HC4iq0k6pPFCo1GpZDRvPDFbHrFZ7ZjoGMvpQHUNUVQ3kjyF3L6bUUAvXYCRBGB7 gIes2OQFLvoGyS2iArTwQ2nCXqp6aTrFc6JgAWI43nzezMkQYSgqsoBphL/inylNJcnf WXk52LIqVkY7nKvmDk3C6wosQ9WOgYACWk44b3eEX17aIBbFClp5C+MrGe4ymY3o6WmI qWTNY3+THgxo+UtNge3oxppr7JM9nXssvKjOdD2QJFdgPzNnDmsfwRNPgUuzGC6Ev6JR 4MDkRmO5x7kSinQ3dTq5VWHSYloOB5GeTcxbJtJor1te8kE0rxwJzjSsDbkZnHOhsgii EdnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:dkim-signature :dkim-signature:date; bh=mTyqBE8w68dfH2s29/tUz+ABFEp9VGyC9iDay3rfrG0=; b=JpZX+SnuY3k6MqhsjbG/0amqZpl2cyPRFSAYaJf+bCIVGmxwCq1xQkX/eQzvGIKX8w 5s8fmpcWAKP7seOHtplsXtN7nj3Sb1QSnG2iTK/LiLiy3Ec2IKiav/0PHb+CFpDtMhJr lQoJiGduWQDF0jJD332MBt2Dz/6s06AvYJhAF21b5v6Zdr3eOMHKbUJ5iQjIZJWIchYI Y7tFmUsK+bYssx++BKGutp7xxSCZ1mdiLSQMaFXW/a5MzCBb956bTtiWkGiwNPBRNVUG FkBLotgRqPf+n7Ymc4FOBHhEu9qz9M1D07KfRCEko5sCJvWyKUXac9uGO4WmRVzwTEfr gYRg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=fMtG4XYO; dkim=neutral (no key) header.i=@linutronix.de header.b=9Fyu2VKR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id j3si844852eje.93.2020.11.13.04.31.54; Fri, 13 Nov 2020 04:32:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=fMtG4XYO; dkim=neutral (no key) header.i=@linutronix.de header.b=9Fyu2VKR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726406AbgKMMaj (ORCPT + 99 others); Fri, 13 Nov 2020 07:30:39 -0500 Received: from Galois.linutronix.de ([193.142.43.55]:51588 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726237AbgKMMai (ORCPT ); Fri, 13 Nov 2020 07:30:38 -0500 Date: Fri, 13 Nov 2020 13:30:35 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1605270637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=mTyqBE8w68dfH2s29/tUz+ABFEp9VGyC9iDay3rfrG0=; b=fMtG4XYOZyBfU8DRFep6yY/kNxfgyCyUMXjNezCrjBuh4ZYfQLPHw51SDsT9az80v1Bt3k ymkRIV4GLEJoDWARNZy89KnOXgh9l8wwZFHWtAD7BpyJpSkAEzzdeQ46BF+2614Um63npd niFZYZhks9P1WmDGA+8oS64TcPC1maj+uyQ5LdIauSdyPQ3GTZP7XL+bIqTkILlnrnycVd NNW+uB3LcpDmT+5/tsgDKCuODJSNjNr/uYhExdAplTtw5PyK8x7gfH77dr9jxYEWY6vCbn QP7L7oL1W/tk1bYRV0tdKV57oR4NfiGpT5kiTnT+YZD3D5zLOf9AnqvM7PYdmg== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1605270637; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=mTyqBE8w68dfH2s29/tUz+ABFEp9VGyC9iDay3rfrG0=; b=9Fyu2VKROYAcnlHVan81eIm5akk1sGvlPJTLans35Haf9DxCqJLavAkD1Mh3hv7LZfuv1b xzpYTFzwinsBxDAg== From: Sebastian Andrzej Siewior To: Andrey Konovalov Cc: Dmitry Vyukov , Greg Kroah-Hartman , linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Morton , Alan Stern , Shuah Khan , Alexander Potapenko , Marco Elver , Aleksandr Nogikh , Nazime Hande Harputluoglu , tglx@linutronix.de Subject: Re: [PATCH v4] kcov, usb: only collect coverage from __usb_hcd_giveback_urb in softirq Message-ID: <20201113123035.tjllvijjzd54npsf@linutronix.de> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2020-10-16 15:57:45 [+0200], Andrey Konovalov wrote: > --- a/drivers/usb/core/hcd.c > +++ b/drivers/usb/core/hcd.c > @@ -1646,9 +1646,16 @@ static void __usb_hcd_giveback_urb(struct urb *urb) > > /* pass ownership to the completion handler */ > urb->status = status; > - kcov_remote_start_usb((u64)urb->dev->bus->busnum); > + /* > + * This function can be called in task context inside another remote > + * coverage collection section, but KCOV doesn't support that kind of > + * recursion yet. Only collect coverage in softirq context for now. > + */ > + if (in_serving_softirq()) Could this in_serving_softirq() usage be replaced, please? > + kcov_remote_start_usb((u64)urb->dev->bus->busnum); > urb->complete(urb); > - kcov_remote_stop(); > + if (in_serving_softirq()) > + kcov_remote_stop(); > > usb_anchor_resume_wakeups(anchor); > atomic_dec(&urb->use_count); Sebastian