Received: by 10.213.65.68 with SMTP id h4csp3743659imn; Tue, 3 Apr 2018 09:57:39 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+mI/hwVaq4YDf1rlu+0yBbyQ3HoaXra7ib4nyG411oLwGpWUzBb2kR8ITzjoNLP7PXuRJs X-Received: by 2002:a17:902:59c9:: with SMTP id d9-v6mr15104267plj.251.1522774659074; Tue, 03 Apr 2018 09:57:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522774659; cv=none; d=google.com; s=arc-20160816; b=M1X9Vs7Mu537FFtc1a2VwWzxXdphZ9ZS+wSKyiuq8aoe/upPUCw4oXbm+igSUeH0Sm fY8PZuroOw/Fn+EcL8arIGEtald8UkNJR/vshDyEMyRTH3hbyOVju8pR5Rf0EVFXDPCW OLT7lEq96cH5K6c0/FT4EzhFzg2u7X3nGqf9aByZ4GdtLS5aPq6t6mRu9qKHKXvutdCm X7XXKSwIMgNVRXP86qo2QK8Ek5ZVOazJlpugb1TVXhcTgwy0L63SFRUxl6+FSoOQmaRL iu+2Fw0G8Eoovx11E6G16n8AEJGa38IQfxzZ7wDnwkAy9PhpeaxVJU96lYuQRsTSswsE lvsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=g+7qSjyLS4rRSRykTCuC50IZVz4bY06uNU0maO3ELJs=; b=snEzn37AFwJnwJQuw3HoU26RTOZ6yFbgrEJyeLvCsPl7ukStGZvZSY/KMq/aQ8Yqoi c7opK7GKtXj6yN2cRGc3fpaeOlN27syi94A1TVYC8DBfZNePA2dTGMpAkp4JuBsA+YGB 1tj3Q5d+0BZGa5jEBAdCZMXbndvrxj3F7JZYdpYO+8nXy/88wuvR0QpjBZ/VDzfjiZq+ dh0fTuM4LSq0T8ZDHU9+MhKcKw1lhzgb+pOmIaD14L9RDGTirMhO+HjuF4i5shH69ezw 054X+A7sDYLss/Nhbiy5a5U6sdjU/ErrqoYL5EnELJu4rYJizeSz25Jm3zbwAe9R/yVW J8jA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@amarulasolutions.com header.s=google header.b=oVLmLub9; 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 d11-v6si1031209plr.406.2018.04.03.09.57.25; Tue, 03 Apr 2018 09:57:39 -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=@amarulasolutions.com header.s=google header.b=oVLmLub9; 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 S1752486AbeDCQ4U (ORCPT + 99 others); Tue, 3 Apr 2018 12:56:20 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:39985 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751414AbeDCQ4R (ORCPT ); Tue, 3 Apr 2018 12:56:17 -0400 Received: by mail-wm0-f65.google.com with SMTP id x4so36484926wmh.5 for ; Tue, 03 Apr 2018 09:56:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amarulasolutions.com; s=google; h=from:to:cc:subject:date:message-id; bh=g+7qSjyLS4rRSRykTCuC50IZVz4bY06uNU0maO3ELJs=; b=oVLmLub9wpWglbKsw0Mxg9/J330FRAeoHTp89NrjpwzUpZBfcmVJzpjn2suZs8o2LV c1K/ytWaNR1W/BNAWTNuvgjkJypWTp8uCQ/ic4inv6XhFNVk5ejTjUuetyIF5Fhph5XJ xO17igkmcaoNbbn9C6ZsdnS5B0FyGw9h3a3XM= 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=g+7qSjyLS4rRSRykTCuC50IZVz4bY06uNU0maO3ELJs=; b=V3KNAQ32KiftEXrARE/H28kQbkjUuA4GX9Fr0s5kj445xw6PAxKbXsahaG0j9/NDti gnFcvcM8BIkE1i4gTlzYpO8U6j6ioHiJ0W0NgilukIJfbVeu/6p0oXyB0gijX1Yr8AJ5 JS43X/99v7YeNentRMbtru3TecvWOu5TletINdYUR7+OvdJa68X5EeTgfQ/XoxETpNG0 955wIJEL2CnoSuGYTVyj/w37gN7eA+7rrqW40yaDScOxg0hh6Lx9hDtvjDNoll31yuy5 /cDHyE0mhupVQ6GuX2eAUVfshz3As/Po7KNVIQdVMg+tzTaFJGVLBJiUHtdNPsIcRnnu Z2mQ== X-Gm-Message-State: ALQs6tD39DLbVHwF7S2sVHlFPOyW+oc7ybk/YVbropm36JGZaal4t3uZ 5zrn+hSj2x/x/i3Owp5bPdG8kw== X-Received: by 10.28.124.13 with SMTP id x13mr4329309wmc.71.1522774575916; Tue, 03 Apr 2018 09:56:15 -0700 (PDT) Received: from localhost.localdomain ([213.209.242.222]) by smtp.gmail.com with ESMTPSA id 135sm1653885wmv.12.2018.04.03.09.56.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 03 Apr 2018 09:56:15 -0700 (PDT) From: Andrea Parri To: Ingo Molnar , Jonathan Corbet Cc: linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, linux-arch@vger.kernel.org, Andrea Parri Subject: [RFC PATCH 0/3] Documentation/features: Provide and apply "features-refresh.sh" Date: Tue, 3 Apr 2018 18:55:48 +0200 Message-Id: <1522774551-9503-1-git-send-email-andrea.parri@amarulasolutions.com> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In Ingo's words [1]: "[...] what should be done instead is to write a script that refreshes all the arch-support.txt files in-place. [...] It's OK for the script to have various quirks for weirdly implemented features and exceptions: i.e. basically whenever it gets a feature wrong, we can just tweak the script with quirks to make it all work out of box. [...] But in the end there should only be a single new script: Documentation/features/scripts/features-refresh.sh ... which operates on the arch-support.txt files and refreshes them in place, and which, after all the refreshes have been committed, should produce an empty 'git diff' result." "[...] New features can then be added by basically just creating a header-only arch-support.txt file, such as: triton:~/tip/Documentation/features> cat foo/bar/arch-support.txt # # Feature name: shiny new fubar kernel feature # Kconfig: ARCH_USE_FUBAR # description: arch supports the fubar feature # And running Documentation/features/scripts/features-refresh.sh would auto-generate the arch support matrix. [...] This way we soft- decouple the refreshing of the entries from the introduction of the features, while still making it all easy to keep sync and to extend." This RFC presents a first attempt to implement such a feature/script, and applies it script on top of Arnd's: git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic.git arch-removal Patch 1/3 provides the "features-refresh.sh" script. Patch 2/3 removes the "BPF-JIT" feature file and it creates header-only files for "cBPF-JIT" and "eBPF-JIT". Patch 3/3 presents the results of running the script; this run also printed to standard output the following warnings: WARNING: '__HAVE_ARCH_STRNCASECMP' is not a valid Kconfig WARNING: 'Optimized asm/rwsem.h' is not a valid Kconfig WARNING: '!ARCH_USES_GETTIMEOFFSET' is not a valid Kconfig WARNING: '__HAVE_ARCH_PTE_SPECIAL' is not a valid Kconfig (I'm sending these patches with empty commit messagges, for early feedback: I'll fill in these messages in subsequent versions if this makes sense...) Cheers, Andrea Andrea Parri (3): Documentation/features: Add script that refreshes the arch support status files in place Documentation/features/core: Add arch support status files for 'cBPF-JIT' and 'eBPF-JIT' Documentation/features: Refresh and auto-generate the arch support status files in place .../features/core/BPF-JIT/arch-support.txt | 31 ------------ .../features/core/cBPF-JIT/arch-support.txt | 32 +++++++++++++ .../features/core/eBPF-JIT/arch-support.txt | 32 +++++++++++++ .../core/generic-idle-thread/arch-support.txt | 3 +- .../features/core/jump-labels/arch-support.txt | 1 + .../features/core/tracehook/arch-support.txt | 1 + .../features/debug/KASAN/arch-support.txt | 3 +- .../debug/gcov-profile-all/arch-support.txt | 1 + Documentation/features/debug/kgdb/arch-support.txt | 3 +- .../debug/kprobes-on-ftrace/arch-support.txt | 1 + .../features/debug/kprobes/arch-support.txt | 3 +- .../features/debug/kretprobes/arch-support.txt | 3 +- .../features/debug/optprobes/arch-support.txt | 3 +- .../features/debug/stackprotector/arch-support.txt | 1 + .../features/debug/uprobes/arch-support.txt | 5 +- .../debug/user-ret-profiler/arch-support.txt | 1 + .../features/io/dma-api-debug/arch-support.txt | 1 + .../features/io/dma-contiguous/arch-support.txt | 3 +- .../features/io/sg-chain/arch-support.txt | 1 + .../features/lib/strncasecmp/arch-support.txt | 1 + .../locking/cmpxchg-local/arch-support.txt | 3 +- .../features/locking/lockdep/arch-support.txt | 3 +- .../locking/queued-rwlocks/arch-support.txt | 9 ++-- .../locking/queued-spinlocks/arch-support.txt | 7 +-- .../locking/rwsem-optimized/arch-support.txt | 1 + .../features/perf/kprobes-event/arch-support.txt | 5 +- .../features/perf/perf-regs/arch-support.txt | 3 +- .../features/perf/perf-stackdump/arch-support.txt | 3 +- .../sched/membarrier-sync-core/arch-support.txt | 1 + .../features/sched/numa-balancing/arch-support.txt | 5 +- Documentation/features/scripts/features-refresh.sh | 55 ++++++++++++++++++++++ .../seccomp/seccomp-filter/arch-support.txt | 5 +- .../time/arch-tick-broadcast/arch-support.txt | 3 +- .../features/time/clockevents/arch-support.txt | 3 +- .../time/context-tracking/arch-support.txt | 1 + .../features/time/irq-time-acct/arch-support.txt | 3 +- .../time/modern-timekeeping/arch-support.txt | 1 + .../features/time/virt-cpuacct/arch-support.txt | 1 + .../features/vm/ELF-ASLR/arch-support.txt | 3 +- .../features/vm/PG_uncached/arch-support.txt | 1 + Documentation/features/vm/THP/arch-support.txt | 1 + Documentation/features/vm/TLB/arch-support.txt | 1 + .../features/vm/huge-vmap/arch-support.txt | 1 + .../features/vm/ioremap_prot/arch-support.txt | 1 + .../features/vm/numa-memblock/arch-support.txt | 3 +- .../features/vm/pte_special/arch-support.txt | 1 + 46 files changed, 192 insertions(+), 62 deletions(-) delete mode 100644 Documentation/features/core/BPF-JIT/arch-support.txt create mode 100644 Documentation/features/core/cBPF-JIT/arch-support.txt create mode 100644 Documentation/features/core/eBPF-JIT/arch-support.txt create mode 100755 Documentation/features/scripts/features-refresh.sh -- 2.7.4