Message ID | 166919798040.1256245.11495568684139066955.stgit@warthog.procyon.org.uk |
---|---|
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp2706152wrr; Wed, 23 Nov 2022 02:30:24 -0800 (PST) X-Google-Smtp-Source: AA0mqf78mhqqh8x86Ox1ni6ZXJDO1qGESWJ82VNnBAmMp7ZU0C24KjnnCDfqGwHq/q4WkUuk2Tnx X-Received: by 2002:a17:906:2308:b0:7ad:2da5:36e1 with SMTP id l8-20020a170906230800b007ad2da536e1mr22328227eja.548.1669199424326; Wed, 23 Nov 2022 02:30:24 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669199424; cv=none; d=google.com; s=arc-20160816; b=Vz5HntQE6e82g33tJ9aHKNkxCMbb8R+1CZZVW22oLtUmRulbtG2nhqBfLmYdpmmcnb Zan9bGxnSQ6/sS9E+iq9wcUHEqnMLfhkZoW/huvxmCNsBqEap0Pl31YL9SdZ0RPRrt4c 6lDefv7ZnbEq5stZbJY04EyLzMp91x6gbOQZWaeD56YzGSMlkmBiE4B3n9hZpiTwM50Q 5IoUQpOI0N5tLYUFRu46AZB2QzDcBwUSFpQvgeg0YHy50gZtHqnImQ34/KO64zdfbgCB 8GxgmjgFghkOis62hp4ug8OfM8BIHul1tXdTRPingiyXaNaz8UnA0n/6ElcHDW1pMcXx pyVw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:message-id:date:cc:to:from:subject:dkim-signature; bh=0wVtadInLBEeuRePUmRUFVVWbjXsh42BBBQYRzoYLcw=; b=BYm5UbSxZHwweloBvabIMGV4XfJH6yo/m+iMBeOZGASrg1N/XrH9Hd9MxYAGlP92PZ OCFce0nAD9hANN9bXXJmVgEevDefhm05NAUaLwslWE++pCkokEy3JscY7ed/e7lUO7ge z6Fcm/5aQUuzouzmwl4oIeDs610F6lm2pU2yS9TaFJ8ALMT09sM4m5CaABhUAzY77Y0Y wysZbetcLKcAtaOCVMrRXiJsFSwWcqm4fAle4k3Ub38gimRHtQJY0OdVa0ZL6/8AWtqW mIH8xoJXjQWUkCMbztTP/+cctEMIBSO6rVabo/VfU/3Ifu7+/gc4EnndcQgl4SyuLqMS BJLQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Tx8KlgPx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id g6-20020aa7c586000000b004696e8f74cbsi7819931edq.537.2022.11.23.02.30.00; Wed, 23 Nov 2022 02:30:24 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=Tx8KlgPx; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237385AbiKWKU1 (ORCPT <rfc822;cjcooper78@gmail.com> + 99 others); Wed, 23 Nov 2022 05:20:27 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236803AbiKWKTt (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Wed, 23 Nov 2022 05:19:49 -0500 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8AC37122977 for <linux-kernel@vger.kernel.org>; Wed, 23 Nov 2022 02:06:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1669197989; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0wVtadInLBEeuRePUmRUFVVWbjXsh42BBBQYRzoYLcw=; b=Tx8KlgPxR4DH6rguPHNnYkMIM3E/peZN+d/4DgSVwo3fRBFiUJDpOUQkIJbByKrTYO7Tv9 HKZ8iPechEgC//SGRBhRrkKcQgzB0Lmzj0f6V0UtzKB8m+XlJvM4V8zIJWMDmZOGKl9upH HKes7RRIBe57RKQTj2QjfeCdeb0+rhM= Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-518-lzdtT3VbMSybZVayiI-sIQ-1; Wed, 23 Nov 2022 05:06:24 -0500 X-MC-Unique: lzdtT3VbMSybZVayiI-sIQ-1 Received: from smtp.corp.redhat.com (int-mx10.intmail.prod.int.rdu2.redhat.com [10.11.54.10]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id DDEC08027EC; Wed, 23 Nov 2022 10:06:23 +0000 (UTC) Received: from warthog.procyon.org.uk (unknown [10.33.36.14]) by smtp.corp.redhat.com (Postfix) with ESMTP id 2E477492B07; Wed, 23 Nov 2022 10:06:23 +0000 (UTC) Subject: [PATCH net-next 00/13] rxrpc: Increasing SACK size and moving away from softirq, part 2 From: David Howells <dhowells@redhat.com> To: netdev@vger.kernel.org Cc: linux-afs@lists.infradead.org, Marc Dionne <marc.dionne@auristor.com>, dhowells@redhat.com, linux-afs@lists.infradead.org, linux-kernel@vger.kernel.org Date: Wed, 23 Nov 2022 10:06:20 +0000 Message-ID: <166919798040.1256245.11495568684139066955.stgit@warthog.procyon.org.uk> User-Agent: StGit/1.5 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 3.1 on 10.11.54.10 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_NONE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750282455606254237?= X-GMAIL-MSGID: =?utf-8?q?1750282455606254237?= |
Series |
rxrpc: Increasing SACK size and moving away from softirq, part 2
|
|
Message
David Howells
Nov. 23, 2022, 10:06 a.m. UTC
This is the second set of patches in the process of moving rxrpc from doing a lot of its stuff in softirq context to doing it in an I/O thread in process context and thereby making it easier to support a larger SACK table (full description in part 1[1]). [!] Note that these patches are based on a merge of a fix in net/master with net-next/master. The fix makes a number of conflicting changes, so it's better if this set is built on top of it. This set of patches includes some cleanups, adds some testing and overhauls some tracing: (1) Remove declaration of rxrpc_kernel_call_is_complete() as the definition is no longer present. (2) Remove the knet() and kproto() macros in favour of using tracepoints. (3) Remove handling of duplicate packets from recvmsg. The input side isn't now going to insert overlapping/duplicate packets into the recvmsg queue. (4) Don't use the rxrpc_conn_parameters struct in the rxrpc_connection or rxrpc_bundle structs - rather put the members in directly. (5) Extract the abort code from a received abort packet right up front rather than doing it in multiple places later. (6) Use enums and symbol lists rather than __builtin_return_address() to indicate where a tracepoint was triggered for local, peer, conn, call and skbuff tracing. (7) Add a refcount tracepoint for the rxrpc_bundle struct. (8) Implement an in-kernel server for the AFS rxperf testing program to talk to (enabled by a Kconfig option). Link: https://lore.kernel.org/r/166794587113.2389296.16484814996876530222.stgit@warthog.procyon.org.uk/ [1] --- The patches are tagged here: git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs.git tags/rxrpc-next-20221121 And can be found on this branch: http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git/log/?h=rxrpc-next David --- David Howells (13): rxrpc: Implement an in-kernel rxperf server for testing purposes rxrpc: Remove decl for rxrpc_kernel_call_is_complete() rxrpc: Remove handling of duplicate packets in recvmsg_queue rxrpc: Remove the [k_]proto() debugging macros rxrpc: Remove the [_k]net() debugging macros rxrpc: Drop rxrpc_conn_parameters from rxrpc_connection and rxrpc_bundle rxrpc: Extract the code from a received ABORT packet much earlier rxrpc: trace: Don't use __builtin_return_address for rxrpc_local tracing rxrpc: trace: Don't use __builtin_return_address for rxrpc_peer tracing rxrpc: trace: Don't use __builtin_return_address for rxrpc_conn tracing rxrpc: trace: Don't use __builtin_return_address for rxrpc_call tracing rxrpc: Trace rxrpc_bundle refcount rxrpc: trace: Don't use __builtin_return_address for sk_buff tracing include/net/af_rxrpc.h | 2 +- include/trace/events/rxrpc.h | 385 +++++++++++++++------- net/rxrpc/Kconfig | 7 + net/rxrpc/Makefile | 3 + net/rxrpc/af_rxrpc.c | 10 +- net/rxrpc/ar-internal.h | 121 ++++--- net/rxrpc/call_accept.c | 39 +-- net/rxrpc/call_event.c | 18 +- net/rxrpc/call_object.c | 120 +++---- net/rxrpc/conn_client.c | 112 ++++--- net/rxrpc/conn_event.c | 52 ++- net/rxrpc/conn_object.c | 66 ++-- net/rxrpc/conn_service.c | 15 +- net/rxrpc/input.c | 103 +++--- net/rxrpc/key.c | 2 +- net/rxrpc/local_event.c | 7 +- net/rxrpc/local_object.c | 85 +++-- net/rxrpc/output.c | 45 ++- net/rxrpc/peer_event.c | 74 +---- net/rxrpc/peer_object.c | 44 ++- net/rxrpc/proc.c | 6 +- net/rxrpc/recvmsg.c | 32 +- net/rxrpc/rxkad.c | 63 ++-- net/rxrpc/rxperf.c | 614 +++++++++++++++++++++++++++++++++++ net/rxrpc/security.c | 4 +- net/rxrpc/sendmsg.c | 6 +- net/rxrpc/server_key.c | 25 ++ net/rxrpc/skbuff.c | 36 +- 28 files changed, 1403 insertions(+), 693 deletions(-) create mode 100644 net/rxrpc/rxperf.c
Comments
On Wed, 23 Nov 2022 10:06:20 +0000 David Howells wrote: > [!] Note that these patches are based on a merge of a fix in net/master > with net-next/master. The fix makes a number of conflicting changes, > so it's better if this set is built on top of it. Please post as RFC if the patches don't apply.
What's the best way to base on a fix commit that's in net for patches in net-next? Here I tried basing on a merge between them. Should I include the fix patch on my net-next branch instead? Or will net be merged into net-next at some point and I should wait for that? Thanks, David
On Thu, 24 Nov 2022 07:08:08 +0000 David Howells wrote: > What's the best way to base on a fix commit that's in net for patches in > net-next? Here I tried basing on a merge between them. Should I include the > fix patch on my net-next branch instead? Or will net be merged into net-next > at some point and I should wait for that? We merge net -> net-next each Thursday afternoon (LT / Linus Time) so if the wait is for something in net then we generally ask for folks to just hold off posting until the merge. If the dependency is the other way then just post based on what's in tree and provide the conflict resolution in the cover letter.
Jakub Kicinski <kuba@kernel.org> wrote: > On Thu, 24 Nov 2022 07:08:08 +0000 David Howells wrote: > > What's the best way to base on a fix commit that's in net for patches in > > net-next? Here I tried basing on a merge between them. Should I include > > the fix patch on my net-next branch instead? Or will net be merged into > > net-next at some point and I should wait for that? > > We merge net -> net-next each Thursday afternoon (LT / Linus Time) > so if the wait is for something in net then we generally ask for folks > to just hold off posting until the merge. If the dependency is the > other way then just post based on what's in tree and provide the > conflict resolution in the cover letter. Ok. I guess last Thursday was skipped because of Thanksgiving. David
On Mon, 28 Nov 2022 20:16:34 +0000 David Howells wrote: > > We merge net -> net-next each Thursday afternoon (LT / Linus Time) > > so if the wait is for something in net then we generally ask for folks > > to just hold off posting until the merge. If the dependency is the > > other way then just post based on what's in tree and provide the > > conflict resolution in the cover letter. > > Ok. I guess last Thursday was skipped because of Thanksgiving. Really? Ugh. I wasn't clear enough in communicating to other maintainers that I'll be out, I guess. I'll try to send another PR later today, once I caught up with all the traffic, and marge things up properly. Stay tuned.