Received: by 2002:ac0:a594:0:0:0:0:0 with SMTP id m20-v6csp430964imm; Mon, 21 May 2018 08:17:46 -0700 (PDT) X-Google-Smtp-Source: AB8JxZp018f8OnDd/V/I48XYW5zPoxr+fZcm4Gqi5vay++6A/g4X1eY/hQ2XQN8ubfVJY8Z2Flrs X-Received: by 2002:a17:902:7443:: with SMTP id e3-v6mr20731432plt.169.1526915866915; Mon, 21 May 2018 08:17:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526915866; cv=none; d=google.com; s=arc-20160816; b=c4ytVTnHMbQMc/h0aBasVPpZQlG7YYLrrK13WZvf8yaXMTarOOA7kfsUZoQxQMkeo5 mXty3ZwH6KIIJAgzTsk/2jsdr703+SPpB6opf86kVedbJiQJF8sfNf9skinWrYs0lMaH a7aTMnVeX/SX4huJ2NeoxapyngOqNA1XTpXjX4fz0lXQCCfwgNDpaNx/jXsKdC48+GyQ L9P2iUxlOwKZVNmrG+PzWDXzwIPHDs+SlVHggKzUvzVwwwpjFB6jwBr4ZjZpF91smW9L Ay/RCpvFFCie5hXiCDWQUEw+eM+bh+GxJcsew/mTngTERjUPIrOKxd4agnzl/WmC8Yef HcSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature :arc-authentication-results; bh=5fJUx6wxxt6ulsMOqMHVma3il0iGSOSWidmnkQPtHEc=; b=CWXrhlbLYPkDlGvxFX3iWIbHEyOlAb1st6hQPcPux2yOFICbscCNyXkrc6npcSDm9F fCTg0aCuJtptpfBrHfawyhdXFYjrnd2fjKC7NMrx31OgI/M8ZOti15d/v46LN7SK0tlH i4cBXLM5/sHHXR5Y8+0NRXp2/V7YYTeYMPFIyNnaeMmhZKSoaCKRgapQ4OcbFk70nRvU 0lSy0Qlm6BLTEqGbJ9wRBzx8tRkwkcFSevFInwpZVx8T4llGkxZahz9jMAEbu7nScrpJ PS1JBjDPECs88UBFh6WUxu89KwOvqBi6C80b5uut6Qt+QQJmWOoP66hco51+lo3+oCTA 77XA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linux-foundation.org header.s=google header.b=JjzouO5A; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q28-v6si14625827pfl.317.2018.05.21.08.17.31; Mon, 21 May 2018 08:17:46 -0700 (PDT) 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=@linux-foundation.org header.s=google header.b=JjzouO5A; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752901AbeEUPRN (ORCPT + 99 others); Mon, 21 May 2018 11:17:13 -0400 Received: from mail-io0-f194.google.com ([209.85.223.194]:33118 "EHLO mail-io0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751682AbeEUPRL (ORCPT ); Mon, 21 May 2018 11:17:11 -0400 Received: by mail-io0-f194.google.com with SMTP id e78-v6so14711329iod.0; Mon, 21 May 2018 08:17:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux-foundation.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5fJUx6wxxt6ulsMOqMHVma3il0iGSOSWidmnkQPtHEc=; b=JjzouO5Ao13arRuuwufQyRWSaYqLF50Ooy0KDXd5iE+XpChp9xNWIvq2ttZyFyAJiF v/UA7ob45i86UPP6AGbDJsTKZB4qSZOfuCmexB+o3wB+LQ4XEbb0xOJRdvWWaVWi4Wcw kZsLkctzZPbn+vNihf5OrbuTbY/i5H3mpe3o4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5fJUx6wxxt6ulsMOqMHVma3il0iGSOSWidmnkQPtHEc=; b=ehD85uJAVAHnQE6MyKoO6iiPtD4LRFWO0NQbBGHhLmKieUaEfQ10x+U77eRPni+ty5 pDufcNRj0DnzyRDF8pP8KOOUOODVQ8u9WrOvtCqEtx5Bvxem99HqGB1nZ4M0Pr+RBZYm 5klmS3ZCZUwPWXjXS1sWHynXda09Aw1TtrSvoAMO8iPK/iny6xPOoBgWEaZWXlOcHJxA gfO1Y3qKUVv6SYAuD+WMeGQS9gHgvXhtxoPzKioUQPv0dewsHCBc8Pm0UQU/wMkpq5CP eDIGsdfZ/UcvLi1lC0nu+a6eMXMeZEIG5OzHiCGrbkKq+Mi5Z82u3hCvSEEmwcAKfYSD 4rAg== X-Gm-Message-State: ALKqPwc49rzM01v+EsvWu144Bg8/L8knlpaQa6diGqRWa/XDrBf41Bcf tIarod8noJ/ylTwFp/sk8IkVU8X9RuLBrSI+F0c= X-Received: by 2002:a6b:ce15:: with SMTP id p21-v6mr8749629iob.257.1526915830470; Mon, 21 May 2018 08:17:10 -0700 (PDT) MIME-Version: 1.0 References: <20180518130413.16997-1-roman.penyaev@profitbricks.com> <20180518130413.16997-2-roman.penyaev@profitbricks.com> <20180519163735.GX3803@linux.vnet.ibm.com> <20180520004318.GY3803@linux.vnet.ibm.com> In-Reply-To: From: Linus Torvalds Date: Mon, 21 May 2018 08:16:59 -0700 Message-ID: Subject: Re: [PATCH v2 01/26] rculist: introduce list_next_or_null_rr_rcu() To: Roman Pen Cc: Paul McKenney , linux-block , linux-rdma , Jens Axboe , Christoph Hellwig , Sagi Grimberg , Bart Van Assche , Or Gerlitz , Doug Ledford , swapnil.ingle@profitbricks.com, danil.kipnis@profitbricks.com, Jinpu Wang , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, May 21, 2018 at 6:51 AM Roman Penyaev < roman.penyaev@profitbricks.com> wrote: > No, I continue from the pointer, which I assigned on the previous IO > in order to send IO fairly and keep load balanced. Right. And that's exactly what has both me and Paul nervous. You're no longer in the RCU domain. You're using a pointer where the lifetime has nothing to do with RCU any more. Can it be done? Sure. But you need *other* locking for it (that you haven't explained), and it's fragile as hell. It's probably best to not use RCU for it at all, but depend on that "other locking" that you have to have anyway, to keep the pointer valid over the non-RCU region. Linus