From patchwork Sun Oct 8 16:10:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 823015 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@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; dkim=pass (2048-bit key; unprotected) header.d=nifty.com header.i=@nifty.com header.b="WV5pHpw8"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3y97sd0396z9s03 for ; Mon, 9 Oct 2017 03:21:08 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752176AbdJHQVG (ORCPT ); Sun, 8 Oct 2017 12:21:06 -0400 Received: from condef-02.nifty.com ([202.248.20.67]:21704 "EHLO condef-02.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751975AbdJHQVG (ORCPT ); Sun, 8 Oct 2017 12:21:06 -0400 Received: from conuserg-08.nifty.com ([10.126.8.71])by condef-02.nifty.com with ESMTP id v98GDZJd011227; Mon, 9 Oct 2017 01:13:44 +0900 Received: from grover.sesame (FL1-122-131-185-176.osk.mesh.ad.jp [122.131.185.176]) (authenticated) by conuserg-08.nifty.com with ESMTP id v98GBWgJ001379; Mon, 9 Oct 2017 01:11:32 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-08.nifty.com v98GBWgJ001379 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1507479094; bh=1nmOlAq7xd3NfV3G5NEE0B+Lt8RIzC+3hCL4a7zzfTo=; h=From:To:Cc:Subject:Date:From; b=WV5pHpw8WowfyMh83b+ZF0ONxNKOkWnWYSnL24gYBZb6xVEC3+MfHbp1hfB5b+8F+ 7hDko5iXYJbmoltjvfK7L4CNd3zKq506bKEc/ay1oRuThetCL8vLX3OmieW7ck4dqo 0Yt5XSz0IKcBdI1gOCqTY966Lir1fczkAfpUymL6ffh5xl4mHYljuzGyz3zmXv857S DiBQF1+Vi3fDVJZlf/g0V/An2rOB3ggLv8WQ5gf/gsKBYINmXNMq9Q0AuWpuV5LJrO 7rmywWbSuQrTzF5f0yus6i44mpSNphPrmfpznZWmwlKcJc0unt/EKTjfY5oONPWMJu lTnIbUpHq+ntw== X-Nifty-SrcIP: [122.131.185.176] From: Masahiro Yamada To: linux-kernel@vger.kernel.org Cc: Thomas Gleixner , Andrew Morton , Ian Abbott , Ingo Molnar , Linus Torvalds , Masahiro Yamada , linux-cachefs@redhat.com, linux-sh@vger.kernel.org, Rodrigo Vivi , dri-devel@lists.freedesktop.org, David Airlie , linux-rdma@vger.kernel.org, Yoshinori Sato , Tariq Toukan , Rich Felker , Leon Romanovsky , Jani Nikula , "J. Bruce Fields" , David Howells , intel-gfx@lists.freedesktop.org, Yishai Hadas , Joonas Lahtinen , Matan Barak , netdev@vger.kernel.org, Saeed Mahameed , Jeff Layton , linux-fsdevel@vger.kernel.org, Marc Zyngier Subject: [PATCH 00/12] radix-tree: split out struct radix_tree_root out to Date: Mon, 9 Oct 2017 01:10:01 +0900 Message-Id: <1507479013-5207-1-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The motivation of this series is to cut down unnecessary header dependency in terms of radix tree. Sub-systems or drivers that use radix-tree for data management typically embed struct radix_tree_root in their data structures, like this: struct foo { ... struct radix_tree_root foo_tree; ... }; So, needs to include , therefore, users of include a lot of bloat from . If you see the definition of radix_tree_root, struct radix_tree_root { gfp_t gfp_mask; struct radix_tree_node __rcu *rnode; }; it is a very simple structure. It only depends on for gfp_t and for __rcu. By splitting out the radix_tree_root definition, we can reduce the header file dependency. Reducing the header dependency will help for speeding the kernel build, suppressing unnecessary recompile of objects during git-bisect'ing, etc. The patch 1 is a trivial clean-up; it is just here to avoid conflict. The patch 2 is the main part of this series; split out struct radix_tree_root. The rest of the series replace with where appropriate. Please review if the idea is OK. If it is OK, I'd like to know how to apply the series. Perhaps, the first two for v4.15. Then, rest of series will be sent per-subsystem for v4.16? Or, can somebody take care of the whole series? I checked allmodconfig for x86 and arm64. I am expecting 0 day testing will check it too. Masahiro Yamada (12): radix-tree: replace with radix-tree: split struct radix_tree_root to irqdomain: replace with writeback: replace with iocontext.h: replace with fs: replace with blkcg: replace with fscache: include sh: intc: replace with net/mlx4: replace with net/mlx5: replace with drm/i915: replace with drivers/gpu/drm/i915/i915_gem.c | 1 + drivers/gpu/drm/i915/i915_gem_context.c | 1 + drivers/gpu/drm/i915/i915_gem_context.h | 2 +- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 1 + drivers/gpu/drm/i915/i915_gem_object.h | 1 + drivers/net/ethernet/mellanox/mlx4/cq.c | 1 + drivers/net/ethernet/mellanox/mlx4/mlx4.h | 2 +- drivers/net/ethernet/mellanox/mlx4/qp.c | 1 + drivers/net/ethernet/mellanox/mlx4/srq.c | 1 + drivers/sh/intc/internals.h | 2 +- include/linux/backing-dev-defs.h | 2 +- include/linux/blk-cgroup.h | 2 +- include/linux/fs.h | 2 +- include/linux/fscache.h | 1 + include/linux/iocontext.h | 2 +- include/linux/irqdomain.h | 2 +- include/linux/mlx4/device.h | 2 +- include/linux/mlx4/qp.h | 1 + include/linux/mlx5/driver.h | 2 +- include/linux/mlx5/qp.h | 1 + include/linux/radix-tree-root.h | 24 ++++++++++++++++++++++++ include/linux/radix-tree.h | 8 ++------ 22 files changed, 46 insertions(+), 16 deletions(-) create mode 100644 include/linux/radix-tree-root.h