From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 54E69C3DA78 for ; Tue, 17 Jan 2023 18:06:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231127AbjAQSGi (ORCPT ); Tue, 17 Jan 2023 13:06:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42154 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231419AbjAQSAY (ORCPT ); Tue, 17 Jan 2023 13:00:24 -0500 Received: from mail-ed1-x52d.google.com (mail-ed1-x52d.google.com [IPv6:2a00:1450:4864:20::52d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 475D7539B6 for ; Tue, 17 Jan 2023 09:48:18 -0800 (PST) Received: by mail-ed1-x52d.google.com with SMTP id v6so46102540edd.6 for ; Tue, 17 Jan 2023 09:48:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=G67vv37nXrP7N2YLh8GUv3IGBHMNFwcEMn21AToWGSU=; b=pHU7sSSdMsFN3vOEpx5899GSAchHDkxi0WTQJSK1D01Et60CqYw1BLQKvAAPDSrzID r174o/2MLjSakXSWCLFJN1YCBtfRzcUd2nZytWV5Uo62wcijLPHJiy8wJS67EgDXOtxK zAIeTYPJ/Ek5F4mfKPm/vQH05jS6lbRlHGybsL8PsqbZuN+MW++fokjpJiJx8H+QefAh 478Hd/NUP5U8KnpVup8n6hU2OwWwweIHlNcBXIDrOo9okCLMH+Dm3Fh+OsB/9ANzgRFr /9f+lKd17bsRP2gLu1ViRhYCoN044MKL2x6Ny/08XZF4EFKSEbD9ZPwsm/jq1+5iZpMW 4cJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=G67vv37nXrP7N2YLh8GUv3IGBHMNFwcEMn21AToWGSU=; b=zstRVltU5k1TvcneWgWv/D01gc+qClfA2jia6vjhJg2hqyB4GDXVsifGdI4d7EWLXF LuSPIPw8tS3G4VvPOPWdTLZdzVV8hamLJO2SadAa2qGwvQXHGt2opF3s+TuoeXZPhIzP KtCVhpI9CFFtFidYip4e/v5EStNsuBFwYmUKOJT8Azzs2ZKZvw/VzvxWDrmhIWi2JjC8 NMCt9OtCuEThCh9+g7JLe2xpRGtXbVVqVsoF6iRNM5Pu/E12WwWHM3RpY8pygRDnVa+v pLW8puwyOawLYCXpQCfZRZIPrhw5zRHRNbdx6/U1+tup9IS+gJgcbMmDM6WJALAfu7VC FAmA== X-Gm-Message-State: AFqh2kpGmDbKyaMOT9l0DMuWB7sqPWKupAf4ME8KAJ7jumbpBKopNQwR +FexXx5Zkkqev5W81jxqb7Q= X-Google-Smtp-Source: AMrXdXuXGPY2gZRY8OvRioa91gubs1hQeOA69yaxAJJSmB5IT8zrZCkzv3fkcw0KWvcRY5Mvp9sbAg== X-Received: by 2002:a05:6402:25c4:b0:49e:24a4:4f32 with SMTP id x4-20020a05640225c400b0049e24a44f32mr4532026edb.13.1673977696795; Tue, 17 Jan 2023 09:48:16 -0800 (PST) Received: from osv.localdomain ([89.175.180.246]) by smtp.gmail.com with ESMTPSA id gh9-20020a170906e08900b0086f4b8f9e42sm3609058ejb.65.2023.01.17.09.48.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jan 2023 09:48:16 -0800 (PST) From: Sergey Organov To: Sherry Sun Cc: "linux-serial@vger.kernel.org" , Fabio Estevam , Greg Kroah-Hartman , Jiri Slaby , Richard Genoud , Sascha Hauer , Shawn Guo , "tharvey@gateworks.com" , Tomasz =?utf-8?Q?Mo=C5=84?= , "linux-arm-kernel@lists.infradead.org" , dl-linux-imx , Pengutronix Kernel Team Subject: Re: [PATCH 7/8] serial: imx: use readl() to optimize FIFO reading loop References: <87bko4e65y.fsf@osv.gnss.ru> <20230113184334.287130-1-sorganov@gmail.com> <20230113184334.287130-8-sorganov@gmail.com> Date: Tue, 17 Jan 2023 20:48:14 +0300 In-Reply-To: (Sherry Sun's message of "Tue, 17 Jan 2023 10:20:08 +0000") Message-ID: <87h6wp2gtd.fsf@osv.gnss.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-serial@vger.kernel.org Sherry Sun writes: >> -----Original Message----- >> From: Sergey Organov >> Sent: 2023年1月14日 2:44 >> To: linux-serial@vger.kernel.org >> Cc: Fabio Estevam ; Greg Kroah-Hartman >> ; Jiri Slaby ; Richard >> Genoud ; Sascha Hauer >> ; Shawn Guo ; >> tharvey@gateworks.com; Tomasz Moń ; >> linux-arm-kernel@lists.infradead.org; dl-linux-imx ; >> Pengutronix Kernel Team ; Sergey Organov >> >> Subject: [PATCH 7/8] serial: imx: use readl() to optimize FIFO reading loop >> >> Use readl() instead of heavier imx_uart_readl() in the Rx ISR, as we know we >> read registers that must not be cached. >> >> Signed-off-by: Sergey Organov >> --- >> drivers/tty/serial/imx.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c index >> be00362b8b67..f4236e8995fa 100644 >> --- a/drivers/tty/serial/imx.c >> +++ b/drivers/tty/serial/imx.c >> @@ -890,14 +890,15 @@ static irqreturn_t __imx_uart_rxint(int irq, void >> *dev_id) >> struct imx_port *sport = dev_id; >> unsigned int rx, flg; >> struct tty_port *port = &sport->port.state->port; >> + typeof(sport->port.membase) membase = sport->port.membase; >> u32 usr2; >> >> /* If we received something, check for 0xff flood */ >> - usr2 = imx_uart_readl(sport, USR2); >> + usr2 = readl(membase + USR2); >> if (usr2 & USR2_RDR) >> imx_uart_check_flood(sport, usr2); >> >> - while ((rx = imx_uart_readl(sport, URXD0)) & URXD_CHARRDY) { >> + while ((rx = readl(membase + URXD0)) & URXD_CHARRDY) { > > Actually imx_uart_readl() only set shadow registers for UCRx and UFCR, > for the USR2 and URXD0 that you used here, they will not be cached. Sure, and that's why we here don't need to call imx_uart_readl(), that only needlessly checks for shadowing, thus producing pure overhead. Best Regards, Sergey From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id E28F4C3DA78 for ; Tue, 17 Jan 2023 17:49:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-ID:In-Reply-To: Date:References:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=uioGgrVVOCVlMMKjDIvu7d42uPmt7Cijn2mULha0B9Q=; b=mlHRr25YvhEzvN pRdqeqe9RVYnpbhHs5qLJkYfJBR936Pxr2sTkxGSAaxY/8Gaxd4NeFJ776tyh5bC80TdB3tu7sJeN Lk8R16XOd0HAHQQDRCZdI5LU4e+phYKEWcGwwUYCmkQbEoDatrRbEUqKAJSrC2AoM0PIVqEyX/Gtu uN615MHNUT6TVz7rXg8WojwB15W9sLN/U44oSvQ0P/5+3tRLWq3ceendSJg89aTfn7iqQesPU4Gm7 rx71G27A5gtBdK6wOk2oaN14lwXMKQzLEczrXJ7ip4kehF2KcA+JTHxaLxvQD4eumTedmV+xmssUI TPk9ky5SvF/ZR61TKsXQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHq4N-00FJT6-TW; Tue, 17 Jan 2023 17:48:24 +0000 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1pHq4K-00FJR0-FI for linux-arm-kernel@lists.infradead.org; Tue, 17 Jan 2023 17:48:21 +0000 Received: by mail-ed1-x52a.google.com with SMTP id z11so46195232ede.1 for ; Tue, 17 Jan 2023 09:48:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:from:to:cc:subject :date:message-id:reply-to; bh=G67vv37nXrP7N2YLh8GUv3IGBHMNFwcEMn21AToWGSU=; b=pHU7sSSdMsFN3vOEpx5899GSAchHDkxi0WTQJSK1D01Et60CqYw1BLQKvAAPDSrzID r174o/2MLjSakXSWCLFJN1YCBtfRzcUd2nZytWV5Uo62wcijLPHJiy8wJS67EgDXOtxK zAIeTYPJ/Ek5F4mfKPm/vQH05jS6lbRlHGybsL8PsqbZuN+MW++fokjpJiJx8H+QefAh 478Hd/NUP5U8KnpVup8n6hU2OwWwweIHlNcBXIDrOo9okCLMH+Dm3Fh+OsB/9ANzgRFr /9f+lKd17bsRP2gLu1ViRhYCoN044MKL2x6Ny/08XZF4EFKSEbD9ZPwsm/jq1+5iZpMW 4cJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:user-agent:message-id :in-reply-to:date:references:subject:cc:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=G67vv37nXrP7N2YLh8GUv3IGBHMNFwcEMn21AToWGSU=; b=LDOdg5YW22v0EeXAXFOlj2QMvxaxBvYHHp/yXW5ZD6LIWPphysiYacv7Upl3I8cpbT 2bh2Cz38Wc6RnoC1B2aeCHp5vEQxLe207odda6tQDQIAeFVDal2B4dVh/8VelaVnh9pt ubCZOBGfbSaDrXzB8PEeyQ3s1bPi1ldMsp345hgEYuyh2ROF11kTAq4MZEtsTdY3nT2z aA8up/fCsnuKOBogd3esSSJDHr+q/2Z9X921eRca+QX+uPH332axClCreyA2CmMwGjXO 80Z23bWp6RXTXZ/HvdHAPQg1Lz+dXEMCCtZLVYecW7ML3E6mNF2IySPEvDhjfHkhNquE rpqg== X-Gm-Message-State: AFqh2kpsfN9Z3L8vBYB0Q628E9UnIFHmQKKf9QDXTcYrkYTlVoifcEVC iOd4Wlogp5v5ySnF3bX8VZU= X-Google-Smtp-Source: AMrXdXuXGPY2gZRY8OvRioa91gubs1hQeOA69yaxAJJSmB5IT8zrZCkzv3fkcw0KWvcRY5Mvp9sbAg== X-Received: by 2002:a05:6402:25c4:b0:49e:24a4:4f32 with SMTP id x4-20020a05640225c400b0049e24a44f32mr4532026edb.13.1673977696795; Tue, 17 Jan 2023 09:48:16 -0800 (PST) Received: from osv.localdomain ([89.175.180.246]) by smtp.gmail.com with ESMTPSA id gh9-20020a170906e08900b0086f4b8f9e42sm3609058ejb.65.2023.01.17.09.48.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 17 Jan 2023 09:48:16 -0800 (PST) From: Sergey Organov To: Sherry Sun Cc: "linux-serial@vger.kernel.org" , Fabio Estevam , Greg Kroah-Hartman , Jiri Slaby , Richard Genoud , Sascha Hauer , Shawn Guo , "tharvey@gateworks.com" , Tomasz =?utf-8?Q?Mo=C5=84?= , "linux-arm-kernel@lists.infradead.org" , dl-linux-imx , Pengutronix Kernel Team Subject: Re: [PATCH 7/8] serial: imx: use readl() to optimize FIFO reading loop References: <87bko4e65y.fsf@osv.gnss.ru> <20230113184334.287130-1-sorganov@gmail.com> <20230113184334.287130-8-sorganov@gmail.com> Date: Tue, 17 Jan 2023 20:48:14 +0300 In-Reply-To: (Sherry Sun's message of "Tue, 17 Jan 2023 10:20:08 +0000") Message-ID: <87h6wp2gtd.fsf@osv.gnss.ru> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230117_094820_526978_1372F323 X-CRM114-Status: GOOD ( 16.44 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org U2hlcnJ5IFN1biA8c2hlcnJ5LnN1bkBueHAuY29tPiB3cml0ZXM6Cgo+PiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQo+PiBGcm9tOiBTZXJnZXkgT3JnYW5vdiA8c29yZ2Fub3ZAZ21haWwuY29t Pgo+PiBTZW50OiAyMDIz5bm0MeaciDE05pelIDI6NDQKPj4gVG86IGxpbnV4LXNlcmlhbEB2Z2Vy Lmtlcm5lbC5vcmcKPj4gQ2M6IEZhYmlvIEVzdGV2YW0gPGZlc3RldmFtQGdtYWlsLmNvbT47IEdy ZWcgS3JvYWgtSGFydG1hbgo+PiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5vcmc+OyBKaXJpIFNs YWJ5IDxqaXJpc2xhYnlAa2VybmVsLm9yZz47IFJpY2hhcmQKPj4gR2Vub3VkIDxyaWNoYXJkLmdl bm91ZEBnbWFpbC5jb20+OyBTYXNjaGEgSGF1ZXIKPj4gPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+ OyBTaGF3biBHdW8gPHNoYXduZ3VvQGtlcm5lbC5vcmc+Owo+PiB0aGFydmV5QGdhdGV3b3Jrcy5j b207IFRvbWFzeiBNb8WEIDx0b21hc3oubW9uQGNhbWxpbmdyb3VwLmNvbT47Cj4+IGxpbnV4LWFy bS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZzsgZGwtbGludXgtaW14IDxsaW51eC1pbXhAbnhw LmNvbT47Cj4+IFBlbmd1dHJvbml4IEtlcm5lbCBUZWFtIDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+ OyBTZXJnZXkgT3JnYW5vdgo+PiA8c29yZ2Fub3ZAZ21haWwuY29tPgo+PiBTdWJqZWN0OiBbUEFU Q0ggNy84XSBzZXJpYWw6IGlteDogdXNlIHJlYWRsKCkgdG8gb3B0aW1pemUgRklGTyByZWFkaW5n IGxvb3AKPj4gCj4+IFVzZSByZWFkbCgpIGluc3RlYWQgb2YgaGVhdmllciBpbXhfdWFydF9yZWFk bCgpIGluIHRoZSBSeCBJU1IsIGFzIHdlIGtub3cgd2UKPj4gcmVhZCByZWdpc3RlcnMgdGhhdCBt dXN0IG5vdCBiZSBjYWNoZWQuCj4+IAo+PiBTaWduZWQtb2ZmLWJ5OiBTZXJnZXkgT3JnYW5vdiA8 c29yZ2Fub3ZAZ21haWwuY29tPgo+PiAtLS0KPj4gIGRyaXZlcnMvdHR5L3NlcmlhbC9pbXguYyB8 IDUgKysrLS0KPj4gIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25z KC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy90dHkvc2VyaWFsL2lteC5jIGIvZHJpdmVy cy90dHkvc2VyaWFsL2lteC5jIGluZGV4Cj4+IGJlMDAzNjJiOGI2Ny4uZjQyMzZlODk5NWZhIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL3R0eS9zZXJpYWwvaW14LmMKPj4gKysrIGIvZHJpdmVycy90 dHkvc2VyaWFsL2lteC5jCj4+IEBAIC04OTAsMTQgKzg5MCwxNSBAQCBzdGF0aWMgaXJxcmV0dXJu X3QgX19pbXhfdWFydF9yeGludChpbnQgaXJxLCB2b2lkCj4+ICpkZXZfaWQpCj4+ICAJc3RydWN0 IGlteF9wb3J0ICpzcG9ydCA9IGRldl9pZDsKPj4gIAl1bnNpZ25lZCBpbnQgcngsIGZsZzsKPj4g IAlzdHJ1Y3QgdHR5X3BvcnQgKnBvcnQgPSAmc3BvcnQtPnBvcnQuc3RhdGUtPnBvcnQ7Cj4+ICsJ dHlwZW9mKHNwb3J0LT5wb3J0Lm1lbWJhc2UpIG1lbWJhc2UgPSBzcG9ydC0+cG9ydC5tZW1iYXNl Owo+PiAgCXUzMiB1c3IyOwo+PiAKPj4gIAkvKiBJZiB3ZSByZWNlaXZlZCBzb21ldGhpbmcsIGNo ZWNrIGZvciAweGZmIGZsb29kICovCj4+IC0JdXNyMiA9IGlteF91YXJ0X3JlYWRsKHNwb3J0LCBV U1IyKTsKPj4gKwl1c3IyID0gcmVhZGwobWVtYmFzZSArIFVTUjIpOwo+PiAgCWlmICh1c3IyICYg VVNSMl9SRFIpCj4+ICAJCWlteF91YXJ0X2NoZWNrX2Zsb29kKHNwb3J0LCB1c3IyKTsKPj4gCj4+ IC0Jd2hpbGUgKChyeCA9IGlteF91YXJ0X3JlYWRsKHNwb3J0LCBVUlhEMCkpICYgVVJYRF9DSEFS UkRZKSB7Cj4+ICsJd2hpbGUgKChyeCA9IHJlYWRsKG1lbWJhc2UgKyBVUlhEMCkpICYgVVJYRF9D SEFSUkRZKSB7Cj4KPiBBY3R1YWxseSBpbXhfdWFydF9yZWFkbCgpIG9ubHkgc2V0IHNoYWRvdyBy ZWdpc3RlcnMgZm9yIFVDUnggYW5kIFVGQ1IsCj4gZm9yIHRoZSBVU1IyIGFuZCBVUlhEMCB0aGF0 IHlvdSB1c2VkIGhlcmUsIHRoZXkgd2lsbCBub3QgYmUgY2FjaGVkLgoKU3VyZSwgYW5kIHRoYXQn cyB3aHkgd2UgaGVyZSBkb24ndCBuZWVkIHRvIGNhbGwgaW14X3VhcnRfcmVhZGwoKSwgdGhhdApv bmx5IG5lZWRsZXNzbHkgY2hlY2tzIGZvciBzaGFkb3dpbmcsIHRodXMgcHJvZHVjaW5nIHB1cmUg b3ZlcmhlYWQuCgpCZXN0IFJlZ2FyZHMsClNlcmdleQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGlu dXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQu b3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=