From patchwork Fri Apr 20 15:55:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eric Dumazet X-Patchwork-Id: 902009 Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=google.com header.i=@google.com header.b="T8w9cqWf"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40SLB253gRz9s1p for ; Sat, 21 Apr 2018 01:58:34 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755762AbeDTPzs (ORCPT ); Fri, 20 Apr 2018 11:55:48 -0400 Received: from mail-pl0-f66.google.com ([209.85.160.66]:33202 "EHLO mail-pl0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755603AbeDTPzq (ORCPT ); Fri, 20 Apr 2018 11:55:46 -0400 Received: by mail-pl0-f66.google.com with SMTP id w12-v6so5504293plp.0 for ; Fri, 20 Apr 2018 08:55:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=aYDinun7nq5s/DDDCz7qjnPoqXihHZDVdrxCRXuazos=; b=T8w9cqWfCDYFtPWgV39YKNzbYU8A8oTFkT45HO2R468gQTxlUnpI5rtwvn6JAKY2dF PQwdUsGcT28MTydDm8j8gMod/kk49E4PuZgL2KVoQS+ewDXYEoJWQlm9qIiO1AfC/IdW 7TaFrQhoCEDsZJrE2frYAy7SNZ5PXStnr3JDUMM79QKLfTxe+5trysJRMSV3U/b1RX5Q bFy5QtdtZBrgPxmOy8emkebf3OVk8GjU01/JC7B0a6/Geyms/y+3LXeon4oS+C205cFr P/rVrSteOXdGtpwOJbO2qThXNMpcnBMJX+cKeSqakmiMZvcqNrsn7BCu3Srs0yIPkAF2 aNyQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=aYDinun7nq5s/DDDCz7qjnPoqXihHZDVdrxCRXuazos=; b=W7gozx9iP58IV58kBHhQ+aqc47lSaQAFUfP57cjLosXL9kWDxPioKKAk7GjIJocTHO iYyzh8oLMNNNLjlhAqwXSYzTWkNQxUQStoDskGdDA4hyRaeGBm0xNxGnJtm03tF4ImTA DJq1JasBUDRpAm06NVNHZencOCjxcWpp7aRQ/3n6PGhe1E+n2UvP9W0IvaI6uIN8V0xV xYuJsmm0xSj5+SrBNZT3C1zWjjMFk4827tf3AVNf66eOAcA0F8khV1gt+JorAJndnNal NJw1rmWogNN0vieklJNr8u3rtU/kJHRAYpArsHoGcGsMlgsOKmQWE8stiAa/7tvLijfF RGEw== X-Gm-Message-State: ALQs6tC/bDWhrFdoOSAMSHYyk/oX7BwdPpCKg0/9NE8mwatwFquEoaxR J8TcqiuSW2IxRTV2KDkFWVxYWA== X-Google-Smtp-Source: AIpwx48Kp0EvCjvuVTVepmJ6flKYmrhEHcwcC9YRUQqxqOPPpk7vIKWVu/SUeHegjETmtq9IOPEW5A== X-Received: by 2002:a17:902:a70b:: with SMTP id w11-v6mr10660904plq.353.1524239745651; Fri, 20 Apr 2018 08:55:45 -0700 (PDT) Received: from localhost ([2620:15c:2c4:1:7e6f:1e60:1805:893c]) by smtp.gmail.com with ESMTPSA id c3sm12941297pfd.28.2018.04.20.08.55.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 20 Apr 2018 08:55:44 -0700 (PDT) From: Eric Dumazet To: "David S . Miller" Cc: netdev , linux-kernel , Soheil Hassas Yeganeh , Eric Dumazet , Eric Dumazet Subject: [PATCH net-next 0/4] mm, tcp: provide mmap_hook to solve lockdep issue Date: Fri, 20 Apr 2018 08:55:38 -0700 Message-Id: <20180420155542.122183-1-edumazet@google.com> X-Mailer: git-send-email 2.17.0.484.g0c8726318c-goog Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch series provide a new mmap_hook to fs willing to grab a mutex before mm->mmap_sem is taken, to ensure lockdep sanity. This hook allows us to shorten tcp_mmap() execution time (while mmap_sem is held), and improve multi-threading scalability. Eric Dumazet (4): mm: provide a mmap_hook infrastructure net: implement sock_mmap_hook() tcp: provide tcp_mmap_hook() tcp: mmap: move the skb cleanup to tcp_mmap_hook() include/linux/fs.h | 6 ++++++ include/linux/net.h | 1 + include/net/tcp.h | 1 + mm/util.c | 19 ++++++++++++++++++- net/ipv4/af_inet.c | 1 + net/ipv4/tcp.c | 39 ++++++++++++++++++++++++++++++--------- net/ipv6/af_inet6.c | 1 + net/socket.c | 9 +++++++++ 8 files changed, 67 insertions(+), 10 deletions(-)