From nobody Fri Sep 25 16:02:15 2026 Received: from mail-pj1-f50.google.com (mail-pj1-f50.google.com [209.85.216.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E32F452B1C4 for ; Thu, 10 Sep 2026 16:52:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789059175; cv=none; b=h2b3mGdYGzpcTQClj9cNBQ+JztRdzwt9szoJHxVcbrRh9zjJP4XCJBVfU5ErhDUXDqV62eDbVlwlPeV6UR2gRCp6bx4OIOKmWmrIhz0S1rC9V2VNq9iqjuia2rP0iZ0tK5vth53sTGNOeLy+NZzyiMKNJMCaYKMDVHMhjLuMk1s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789059175; c=relaxed/simple; bh=IgALGRDOofcqRheiguSNaLkVcTRz8oPngUcPlnxx8O8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=asLvcaALx73+euFLxIB1NFnUqjwmUCcTyAe6EOJ+K2/2KeqckIYkau/yTxUYLM5tAisiwzfemVsnNdQsbE22rrco+H9zgdWy6vDQwzVzbNAVp98Tj+msh9V8Jdu83/sXhQ8cfQD/uk3ftIwIkIIdaQxluT+CTfduMujwkg93vAk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mIj09DhG; arc=none smtp.client-ip=209.85.216.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mIj09DhG" Received: by mail-pj1-f50.google.com with SMTP id 98e67ed59e1d1-39b9a99469fso3224742a91.3 for ; Thu, 10 Sep 2026 09:52:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789059168; x=1789663968; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=qGkO5SPpG8vTsJvK+53ZWmDGMdLio9cfh5UfDSl6S68=; b=mIj09DhG734A7EElZRB9Cp7/iu7KbLUrANknfmERC3DXHxE8m1JTtKU0FblPo/G1BW f1TC/w27AHFMEfmchFMAcMoUB9cUcLkirdrJQAnmbS+G1FMLnyGwdYRqL8pctXb81aaz JPfz7SBcpHcRHVcELONJc6wyRzLurOAdPdhez1LFm3RDfH2CgyNdOUxc8v1sirok5463 zwp5w1iiLBY7FktRkDplYHlwc9cNs6PCHb0nELzoX0TQkD0PxR8gFZlc7OPb1NHv8qe/ gkLO3YiNJRDLkzlojd4FZ0sune9rrIy4YIRfc5GDY5Ggvg4Ri6jyAfv+1upELnz0j1E3 1Opg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789059168; x=1789663968; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=qGkO5SPpG8vTsJvK+53ZWmDGMdLio9cfh5UfDSl6S68=; b=ElucRcXIEbeLPErU7mtykvmOQEl/qNcn38Jjb2VxjxAuxRDmZ0ENIWQ2ZmNLgAu4Wb L969+yOYI1m4Y3pRyTVmr/zWxJ2vlPrYW7n6lKXzTuHO/WsgBQSXF1lq85VJZIGhoFhO uQjf8b0V8X35yfLVZ3nSYgklzcCiKAZWWI1UqoS/Tc0jR7yAkGI3sOexN9Yj5EG9m+2T L5JJMBRcv6P00GgFkmiJ6wWKqKLtE9noV861ErPB0kSPvkIdt2Viy1+Zbw0icZ60+9aw 5u261XuMrHE9CvFQ5Sr9EhaZk+duHluxbkN7B6szVMXwN2g6dRVsf/iQa8RMDeJF5pSj GiMg== X-Forwarded-Encrypted: i=1; AKwUvByJamt/ljFRmPDLzSYO+iPXuEn0wy9knwqGiW0YdSIGNhX6oTvhV747WkIN8w3FSIyEFc3zo57FLe5kbiM=@vger.kernel.org X-Gm-Message-State: AFuF++lfISXz7Jb0plvPjzz46xUAUuZF0APw8b7pZiWzERvDVRET1e59 RuyQDBVnlRuQQZUPgWQfn1znhC4VSQ/zvWnAtUAxgK/IRBzQ5zJldpyj X-Gm-Gg: AYBFou0RWs651aXZGZJGP98fCaxaELN5P4UlU5FmREEvYl7HkHT4UzSMDGt4u4M1/xY mms0WIPjAV4W9562y4oo7jw3mwT8J/VnJ5tYWWIaZ7WJq5qLVSTdD2f3O4v7wurLeRP7kV57kCr MkEbPSxT+0STe+dQMtPiyRPeNKPxC34DNQFQpeScsTXh9aMg/SMK0Dw70i2WnFgMhKXjflmF/JZ p1Z15Hl2NuySr7d1gPAG7FG9GnexzTG/sUXb7gKHENaXuwhbFMsMyAX0qUzEDY0QYnLpWkGawYY kUCByKVbQ30jks1i4xvMqixvglSqyDJNrQXqjNQaucFwMLaVkqeXJnHOmLyojMCwPCotAjAnJIf R45fbMnn4dcxI+BuWDOd3lk7Js1MSmS4sX/YM1o6lG0vsgkk+Ph2yZjoEXpsNe7kWgbywlorWfv kNqiNcaqKYhyzq9h2IUvC8UnkvvbsY2aSQ9wbE8c3wxXr1ulY/GRPe6G3j2KfhrJ05XOBNa/6Ge gfhgkEKe9JEiZcd9Wf+Eyub9YO4042BfYdEwfVW2dJumtl0n9o6ZCYFh3G64sUDNbqdPWS1j0sJ X-Received: by 2002:a17:90b:2687:b0:398:9c0c:7c71 with SMTP id 98e67ed59e1d1-39b26277b88mr64406221a91.24.1789059167593; Thu, 10 Sep 2026 09:52:47 -0700 (PDT) Received: from visitorckw-work01.c.googlers.com.com (202.176.229.35.bc.googleusercontent.com. [35.229.176.202]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39d98e602d8sm64821a91.3.2026.09.10.09.52.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 09:52:46 -0700 (PDT) From: Kuan-Wei Chiu To: song@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, eddyz87@gmail.com, memxor@gmail.com, kpsingh@kernel.org, matt@bobrowski.net, rostedt@goodmis.org, mhiramat@kernel.org, akpm@linux-foundation.org Cc: jolsa@kernel.org, ihor.solodrai@linux.dev, martin.lau@linux.dev, yonghong.song@linux.dev, emil@etsalapatis.com, mathieu.desnoyers@efficios.com, hch@infradead.org, jserv@ccns.ncku.edu.tw, eleanor15x@gmail.com, marscheng@google.com, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, Kuan-Wei Chiu Subject: [PATCH v2 1/2] bpf: Replace sort_r_nonatomic() with sort_r() in check_dup_ids() Date: Thu, 10 Sep 2026 16:52:20 +0000 Message-ID: <20260910165222.1186628-2-visitorckw@gmail.com> X-Mailer: git-send-email 2.55.0.1003.g10538fe699-goog In-Reply-To: <20260910165222.1186628-1-visitorckw@gmail.com> References: <20260910165222.1186628-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" bpf_kprobe_multi_link_attach() in the same file has been using sort_r() under the exact same limit (1U << 20) for 4 years without issues. Switch check_dup_ids() from sort_r_nonatomic() to sort_r() to match it. This removes the last in-tree user of sort_r_nonatomic(), allowing the unused _nonatomic() sort variants to be dropped from the core library. Signed-off-by: Kuan-Wei Chiu Acked-by: Jiri Olsa --- Build test only kernel/trace/bpf_trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/bpf_trace.c b/kernel/trace/bpf_trace.c index 29260951aa87..1d7e73ddbafb 100644 --- a/kernel/trace/bpf_trace.c +++ b/kernel/trace/bpf_trace.c @@ -3826,7 +3826,7 @@ static int check_dup_ids(u32 *ids, u64 *cookies, u32 = cnt) * and check it for duplicates. The ids and cookies arrays * are left sorted. */ - sort_r_nonatomic(ids, cnt, sizeof(ids[0]), ids_cmp_r, ids_swap_r, data); + sort_r(ids, cnt, sizeof(ids[0]), ids_cmp_r, ids_swap_r, data); =20 for (int i =3D 1; i < cnt; i++) { if (ids[i] =3D=3D ids[i - 1]) { --=20 2.55.0.1003.g10538fe699-goog From nobody Fri Sep 25 16:02:15 2026 Received: from mail-pj1-f51.google.com (mail-pj1-f51.google.com [209.85.216.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ADA5352E06F for ; Thu, 10 Sep 2026 16:52:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.51 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789059181; cv=none; b=e3gz6mj1Bc+LarlazamMjNwmxfCY5x9t5Ricys9Pj3WsuSzpK73wvZ63S/vyCEOjq6XOyFROwB4fmFHadVLwWwPYPMPXohc1kOR+WnNnCFzpmSzkVIm4wVbc/ze6eGz2hDFHkGW3MGdYodURocyDYswDmaQp/m10SvFU0uyj+5k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789059181; c=relaxed/simple; bh=IUh1cWchmC0vld51ke7tyVFS0qPx15TlB96mZ8dNts4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=LVO0Sy2Ht8UdJMcK2R/AQTmBVM/17RdEDfDKc15ALB+VOWK8+BGroIW/eysmWc42I8Bo2qjnAQOM0fIlpeW9miD9p6YeF2IVb5Xz22GgqhoVIfohoEuygSZkONQwrA7k/SHnDbbGaA0En/RPDmluAqt9yj4RlE83NutBmrvl+Kw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Q0xTAEql; arc=none smtp.client-ip=209.85.216.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Q0xTAEql" Received: by mail-pj1-f51.google.com with SMTP id 98e67ed59e1d1-398c1101c1bso6903349a91.1 for ; Thu, 10 Sep 2026 09:52:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789059176; x=1789663976; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=tyS0dUys65sGsGrVA9hi3CkVbRxamfGAlz/CIe+hAe0=; b=Q0xTAEqlQHR+lhWxzbXufxvdVq9tgLfjuV09WToxglPDJnPDwieUvc4jeXzYda7y43 rl+/PQLWpHwtgnaFgEfNu3tbL/n48o7nmp8qbnCQdliNuF9zikCoTznFG5kWumjiPnri yTaiNDh49EWz2qjwhYgv8p+ga2a4G+BMWuMdOVy3JBKBloQITSl7bb0I3iCVNQCimCsV kfbXgqSvXjg8ZoIE7PN56wwUParWGpuJaWPomflRLa3sVZATienHN3LKrJZa3HNAhynz MIMOItOpzvjAzoamESmQ0uTKpPnu1W8MH/ERG7L8dnGxL+0hvIcPKmsG1CftmHNwG1go n+Dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1789059176; x=1789663976; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=tyS0dUys65sGsGrVA9hi3CkVbRxamfGAlz/CIe+hAe0=; b=dSgGYOPYmeuMOoeMuuq0AmH6H4kNBTGqynqOQHwVv8Ov5uY+7wOUaQRoxLoRVsiJet jybidsqtRNHHg3qIFGUhoOBr+DPTIPUiVmjxuDpObioWyWgv8cHJ7qZMl7zTcM7Ej78N OvCZ1r1Y3WGsWpQzzys+BxUASvULlL/ZHaOj9D49bn21l6YR6xC+o5kZWt86+9FlyMct UyLMaT1NVXR7GRin95eYNVC7uofw0OkUCqEcIOeFMEiQfAoUu3bEs+y9Va8O7/hqiGmh sWXUDmD6Q4q5ecB3mtcAYqZQjMKaikvMF0ZqR61Wv+9e2nMbSfk3XchTRsOfqIY0PZ36 y4Jw== X-Forwarded-Encrypted: i=1; AKwUvBzpWYOsauxGTn0dReol9Wy1wWlh7CvdtAJG0Stuyb6ndDtFGCMDBuIOnCtLX/mf4cx5jQs7/9PU+Yn6uMM=@vger.kernel.org X-Gm-Message-State: AFuF++mCpjRjMryZW4ICfFxaDMesprb1cLEKD0b6663c9y59I1tpbBBr Vqvearz7mBKX6HfE4kz6w7ZXoxUm7fyI6sRmtWRKSpyWHWnwooQ6EbrT X-Gm-Gg: AYBFou1anFjTY1Td9BheNBt2ZjY1F+DTQAoJrTTeeC650JfXvOsmN/egJAnqGVTA7c/ zs39j7dvRFy9GFO9q7Tt4JLLt3ducvBKLTxrG8FOCFb0ZeyfGqvR7/xhmncAi21PPm42YondRku /vjjwoiA26nioCupDFZndouD5kGYJqYY6Oxe5wn7wPabdSMuyCCtEOJqjX5jzE4gcNsWec/njM6 dmIvrUpprh3myOty2A0eejGA5cOpehZE2u6hwvbdTmvfgRkUDWVjYvPMn2ayNENbQ1BVuiSeaBl LKXzFsEY56XhP26r85jHrfbzUBuw2jB2gu/hcW7Sl0VVqw8S92/NF+ty+T6rq/6uBGclkY1jqnf stuCBNMwL73qjmsj5PBkJmnqA30hjD4nIcnJoe5H7Zvu+2NPO2T4QrlwoMRxTTnNkSJpjB45gQ/ 8utDFqUnJNbqrz9f4c75JW/9Isx84iXkR6QkAmNAqZFZ6HuhXmU5FIqqYXgEvbBC9nKrfTsUA9B HZ8dn/pQzVsJpkWFhPXQD/iM3xrb5kcwt3VQ8F+0+2JsP/JnBeEu2EddqeNND1WXtPJQBiG67IL X-Received: by 2002:a17:90b:4fd1:b0:398:bd37:6a49 with SMTP id 98e67ed59e1d1-39b261cfd8cmr63877483a91.12.1789059175828; Thu, 10 Sep 2026 09:52:55 -0700 (PDT) Received: from visitorckw-work01.c.googlers.com.com (202.176.229.35.bc.googleusercontent.com. [35.229.176.202]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39d98e602d8sm64821a91.3.2026.09.10.09.52.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 10 Sep 2026 09:52:55 -0700 (PDT) From: Kuan-Wei Chiu To: song@kernel.org, ast@kernel.org, daniel@iogearbox.net, andrii@kernel.org, eddyz87@gmail.com, memxor@gmail.com, kpsingh@kernel.org, matt@bobrowski.net, rostedt@goodmis.org, mhiramat@kernel.org, akpm@linux-foundation.org Cc: jolsa@kernel.org, ihor.solodrai@linux.dev, martin.lau@linux.dev, yonghong.song@linux.dev, emil@etsalapatis.com, mathieu.desnoyers@efficios.com, hch@infradead.org, jserv@ccns.ncku.edu.tw, eleanor15x@gmail.com, marscheng@google.com, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, Kuan-Wei Chiu Subject: [PATCH v2 2/2] Revert "lib/sort.c: add _nonatomic() variants with cond_resched()" Date: Thu, 10 Sep 2026 16:52:21 +0000 Message-ID: <20260910165222.1186628-3-visitorckw@gmail.com> X-Mailer: git-send-email 2.55.0.1003.g10538fe699-goog In-Reply-To: <20260910165222.1186628-1-visitorckw@gmail.com> References: <20260910165222.1186628-1-visitorckw@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This reverts commit e2a33a2a3258794891cdd6ca4b1318da6594d157. With no remaining users in the kernel tree, remove sort_nonatomic() and sort_r_nonatomic() to clean up dead code. This effectively drops the wrapper function __sort_r() and eliminates the may_schedule branch and cond_resched() call from the inner loop of the core sorting routine, slightly simplifying and optimizing the code. Signed-off-by: Kuan-Wei Chiu --- Build test only include/linux/sort.h | 11 ----- lib/sort.c | 110 ++++++++++++------------------------------- 2 files changed, 31 insertions(+), 90 deletions(-) diff --git a/include/linux/sort.h b/include/linux/sort.h index c01ef804a0eb..871775978af0 100644 --- a/include/linux/sort.h +++ b/include/linux/sort.h @@ -23,15 +23,4 @@ void sort(void *base, size_t num, size_t size, cmp_func_t cmp_func, swap_func_t swap_func); =20 -/* Versions that periodically call cond_resched(): */ - -void sort_r_nonatomic(void *base, size_t num, size_t size, - cmp_r_func_t cmp_func, - swap_r_func_t swap_func, - const void *priv); - -void sort_nonatomic(void *base, size_t num, size_t size, - cmp_func_t cmp_func, - swap_func_t swap_func); - #endif diff --git a/lib/sort.c b/lib/sort.c index 52363995ccc5..8e73dc55476b 100644 --- a/lib/sort.c +++ b/lib/sort.c @@ -186,13 +186,36 @@ static size_t parent(size_t i, unsigned int lsbit, si= ze_t size) return i / 2; } =20 -#include - -static void __sort_r(void *base, size_t num, size_t size, - cmp_r_func_t cmp_func, - swap_r_func_t swap_func, - const void *priv, - bool may_schedule) +/** + * sort_r - sort an array of elements + * @base: pointer to data to sort + * @num: number of elements + * @size: size of each element + * @cmp_func: pointer to comparison function + * @swap_func: pointer to swap function or NULL + * @priv: third argument passed to comparison function + * + * This function does a heapsort on the given array. You may provide + * a swap_func function if you need to do something more than a memory + * copy (e.g. fix up pointers or auxiliary data), but the built-in swap + * avoids a slow retpoline and so is significantly faster. + * + * The comparison function must adhere to specific mathematical + * properties to ensure correct and stable sorting: + * - Antisymmetry: cmp_func(a, b) must return the opposite sign of + * cmp_func(b, a). + * - Transitivity: if cmp_func(a, b) <=3D 0 and cmp_func(b, c) <=3D 0, then + * cmp_func(a, c) <=3D 0. + * + * Sorting time is O(n log n) both on average and worst-case. While + * quicksort is slightly faster on average, it suffers from exploitable + * O(n*n) worst-case behavior and extra memory requirements that make + * it less suitable for kernel use. + */ +void sort_r(void *base, size_t num, size_t size, + cmp_r_func_t cmp_func, + swap_r_func_t swap_func, + const void *priv) { /* pre-scale counters for performance */ size_t n =3D num * size, a =3D (num/2) * size; @@ -263,9 +286,6 @@ static void __sort_r(void *base, size_t num, size_t siz= e, b =3D parent(b, lsbit, size); do_swap(base + b, base + c, size, swap_func, priv); } - - if (may_schedule) - cond_resched(); } =20 n -=3D size; @@ -273,63 +293,8 @@ static void __sort_r(void *base, size_t num, size_t si= ze, if (n =3D=3D size * 2 && do_cmp(base, base + size, cmp_func, priv) > 0) do_swap(base, base + size, size, swap_func, priv); } - -/** - * sort_r - sort an array of elements - * @base: pointer to data to sort - * @num: number of elements - * @size: size of each element - * @cmp_func: pointer to comparison function - * @swap_func: pointer to swap function or NULL - * @priv: third argument passed to comparison function - * - * This function does a heapsort on the given array. You may provide - * a swap_func function if you need to do something more than a memory - * copy (e.g. fix up pointers or auxiliary data), but the built-in swap - * avoids a slow retpoline and so is significantly faster. - * - * The comparison function must adhere to specific mathematical - * properties to ensure correct and stable sorting: - * - Antisymmetry: cmp_func(a, b) must return the opposite sign of - * cmp_func(b, a). - * - Transitivity: if cmp_func(a, b) <=3D 0 and cmp_func(b, c) <=3D 0, then - * cmp_func(a, c) <=3D 0. - * - * Sorting time is O(n log n) both on average and worst-case. While - * quicksort is slightly faster on average, it suffers from exploitable - * O(n*n) worst-case behavior and extra memory requirements that make - * it less suitable for kernel use. - */ -void sort_r(void *base, size_t num, size_t size, - cmp_r_func_t cmp_func, - swap_r_func_t swap_func, - const void *priv) -{ - __sort_r(base, num, size, cmp_func, swap_func, priv, false); -} EXPORT_SYMBOL(sort_r); =20 -/** - * sort_r_nonatomic - sort an array of elements, with cond_resched - * @base: pointer to data to sort - * @num: number of elements - * @size: size of each element - * @cmp_func: pointer to comparison function - * @swap_func: pointer to swap function or NULL - * @priv: third argument passed to comparison function - * - * Same as sort_r, but preferred for larger arrays as it does a periodic - * cond_resched(). - */ -void sort_r_nonatomic(void *base, size_t num, size_t size, - cmp_r_func_t cmp_func, - swap_r_func_t swap_func, - const void *priv) -{ - __sort_r(base, num, size, cmp_func, swap_func, priv, true); -} -EXPORT_SYMBOL(sort_r_nonatomic); - void sort(void *base, size_t num, size_t size, cmp_func_t cmp_func, swap_func_t swap_func) @@ -339,19 +304,6 @@ void sort(void *base, size_t num, size_t size, .swap =3D swap_func, }; =20 - return __sort_r(base, num, size, _CMP_WRAPPER, SWAP_WRAPPER, &w, false); + return sort_r(base, num, size, _CMP_WRAPPER, SWAP_WRAPPER, &w); } EXPORT_SYMBOL(sort); - -void sort_nonatomic(void *base, size_t num, size_t size, - cmp_func_t cmp_func, - swap_func_t swap_func) -{ - struct wrapper w =3D { - .cmp =3D cmp_func, - .swap =3D swap_func, - }; - - return __sort_r(base, num, size, _CMP_WRAPPER, SWAP_WRAPPER, &w, true); -} -EXPORT_SYMBOL(sort_nonatomic); --=20 2.55.0.1003.g10538fe699-goog