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 kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80F25E936FB for ; Fri, 6 Oct 2023 11:11:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D534A8E0011; Fri, 6 Oct 2023 07:11:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CDC2D8E000B; Fri, 6 Oct 2023 07:11:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B7CA38E0011; Fri, 6 Oct 2023 07:11:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id A628E8E000B for ; Fri, 6 Oct 2023 07:11:53 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 7FFD3B47C1 for ; Fri, 6 Oct 2023 11:11:53 +0000 (UTC) X-FDA: 81314771706.07.6736EA4 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by imf25.hostedemail.com (Postfix) with ESMTP id A8A41A001B for ; Fri, 6 Oct 2023 11:11:51 +0000 (UTC) Authentication-Results: imf25.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=PA3Bksxy; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf25.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.171 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1696590711; h=from:from:sender: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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=CkZAhzcVv5l/GWGZH+CNEm4JuaJPR9RYctj/ltot25I=; b=4K3a7qkV3kaySOtfvfV69dA5azE82YdVBrNZRSecKVEG7oXGQWYMhw24PXwY/KkS+ztoFe PW1lncsYc8rwtozsrGSKw/3CuRYc9ZkMNectHaBViFNw0/nyJ7FdAKG0fF8Uoq46EQ3j4r V4MgVAGlxY/zW7pUf2iLn+HUbZUQ10I= ARC-Authentication-Results: i=1; imf25.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=PA3Bksxy; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf25.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.214.171 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1696590711; a=rsa-sha256; cv=none; b=AY9xZh4A8FaSKtm3tC0932ySU6He66k8cfmdOQadJ4bzBuW4ybT4PkvXgUwOJi47Iitvu4 k6duji3b2r6lMl78NntZpyP3WYm1MqmuHzwfH8nPwjTfOGPONumt2wnuOEKnYNgZChwNnx 59aYYce9sS+ZSfUhVIp+XCAKfVgv8Uk= Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-1c3d8fb23d9so15170545ad.0 for ; Fri, 06 Oct 2023 04:11:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1696590710; x=1697195510; darn=kvack.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=CkZAhzcVv5l/GWGZH+CNEm4JuaJPR9RYctj/ltot25I=; b=PA3BksxyUfS+fm+pu4F8425f2M7YoLOs6R3alD3oVSx298dgsOqSvUPwicI+02BPNz dOT/kmMgXaWfnBT0phju71ZnsclQD095J/Qll/qBb3xEi2znoEGrIQ+EliVnGx0wxe7P +ocGdNWHkR8zSzFAjuopW4cwCFzeXzTeLOWw4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696590710; x=1697195510; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CkZAhzcVv5l/GWGZH+CNEm4JuaJPR9RYctj/ltot25I=; b=FKMsCH3t/5zKoX+OZX2/Ms/GCVS6bQVbMX7ESgOLO+nFVBlhlBup05sUf6qDrwe4ru Q5l9It3gVsU3ZlvHkkA1rRFQjiV3EukPdNn+6yMkW53A0r8uwaFTRSnGMYcxLYbdAv3M 7j4ILfUd/8QSKBawn1JwWmzEOBa0J+lPOY574UNduLBUZkTlwYriqYF8n1lHaPfC+hEO udI13arzTRXGDOPudP+tUNzHA0tDGrzuWg07NS6dOuCdblVODRBQczBErcNZ9OVjYFf0 5bgbjS9qmisW9tw/hHxgRKjt/Orzn/qDSxpXap/Te+kKy53XMkNPYag2f7SeRJBkbEv2 oWuQ== X-Gm-Message-State: AOJu0YxDweyJuGnLTVbUaT7ofWWUxn0t9l+iSU0+QHF1Woxu02PH3M+n SRXnCaPGTWjPDlSg8Bd88s980w== X-Google-Smtp-Source: AGHT+IEnw2wOEXtKPkvOMaGQ/meYjnZqcW/2/XkI4MuRt4Jv7xi0tOnWU9TYjbFIEraXRPgIHyXmng== X-Received: by 2002:a17:903:24e:b0:1c0:d7a9:1c48 with SMTP id j14-20020a170903024e00b001c0d7a91c48mr9046916plh.49.1696590710250; Fri, 06 Oct 2023 04:11:50 -0700 (PDT) Received: from google.com ([2401:fa00:8f:203:4afa:2f75:6a8f:b6ea]) by smtp.gmail.com with ESMTPSA id c6-20020a170902c1c600b001b9da8b4eb7sm3539523plc.35.2023.10.06.04.11.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 04:11:49 -0700 (PDT) Date: Fri, 6 Oct 2023 20:11:44 +0900 From: Sergey Senozhatsky To: Mark-PK Tsai Cc: Minchan Kim , Sergey Senozhatsky , Andrew Morton , Matthias Brugger , AngeloGioacchino Del Regno , yj.chiang@mediatek.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org Subject: Re: [PATCH] zsmalloc: use copy_page for full page copy Message-ID: <20231006111144.GB17924@google.com> References: <20231006060245.7411-1-mark-pk.tsai@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231006060245.7411-1-mark-pk.tsai@mediatek.com> X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: A8A41A001B X-Stat-Signature: qxfs3d6553injkqg5pjxhnedh6dxg6ef X-Rspam-User: X-HE-Tag: 1696590711-718626 X-HE-Meta: U2FsdGVkX190HJUlziejzNq3yUHcarbZiVJ+WwFKC5XrbQTLObaEz8gMuFKJ31++mP4+rmwSGyX0zU2zHjWa3ztGMRxYCatGJI+VSpCf55y5d9jiBuvCRR4jCPmcJmntT1WWED59WIYTpow9lUWaoE3H7oZK1ITEoQW3Ht00q047Wp80GMahI7Zniuxlpa/Gedoc7Kegot5ZBttSo3DVINsbwdB8nXVy6e6tQZjgJn0jppXb9KdSHaO+PQtKAlGHeI6dmW/u2YjOlYMbZQa1RFfvIGZ7SYrLYsYIiwgvYSIT0Dt7UocvEQabs9OspZo2LVDXSHNsnVriV1fXxaxBOJXCtXBqZ1fedgQbNPcBoCWlND49N+Loh86yHiMuLdkDvb5oOdNNuNrUC8Ch9G71zOxlxvIhto0AsZJCnjTmsL5p+ix41J5cfY0PTSEByMVRr357jWDSkhD48N+hYV8xKdxjnz/gi7ENObsGfuZ18xk+UK4yHfCs5QOTnWyJYHsLX5T7t/I4EREOmwxvysgSg/E8xaG1LR19O02Qj3OEg6sm4PtGM7MelX1f2k223UerH+3lhs9647wDJlpr+cqSZ9fOrV66aH6PIaRNe8qAIkO9zyEiMI5elwP0+zs7sabnRZ1lKpW/54EPPkd7xlq8pD9Gv1xzmDyZqW2XVotIfhly2d/oZCQiDVSSoDcoNwT95y9DfYbQ2DSb8taOpmshIIoikrig/hMJ+JONb3y/29l8H83GFD4fMfTJPZy9GDab1hqU5YrabEp7eYg/wadVeygTzV9Zc94CNr7/OYSDG69rMVm/X/gNl685SxPo0eKsDAPqb3kXVxgM++UtZAGZChd1NgdZUeJj9q4SoVH5D6JkYnryq1D6oUzp8hA+sQHklz0Z4kUtqumadzccGNRR7ta68gJONwp4xilmXzNuLmL0dEEqAcNAw9CiBxkCmx2hA5mcsdga6FgAAn+kVmP kOIsZQ3H Y02OPTdbBGOaD1PttoPX5qBcUWSW3jx6URSuk33V0nLLY0hb6ccl+sMH8shl8hCAzTX8ni9AOfOKNkwdHYnJr9LFnPU9fhE+SGgkHOKI5f2oVxwyTcYq8eUhEZhpdDTrcVb9aILBEwRqfPD6EsQOsB5+DBlUP7TNPulXsolnBW+j3db89L2crLTVX0vQez86FA82Fj5RjXwbAvRkPT3p8oCP3cHhENrv3s+f6dup/2GzY5hVe0qY82lAqfQ1fxNga2jbOJ3NnxQ3WLYo6UZ9NyFKSXZB9OBwPhEK4OK5Mnyc34prumbBElYjBCG5uhBlJp80Dui1TVxnxc1+oo10P9lGnO0ojBB48Z+ZtfbhBS3Sg97FXGWmUbBOR9YbvFV8Tv5mbdkVeamoV+y1ooXJ5LH08qSof2G8BPX22qnSSXZhODV1TCGCGT9YCMcqFecbstMElcJFvCZYw1PVUFaaH7qpmAvqrt1nTI0/UZL7bmE0asunyhRiFJvTLbJBmhaS+Mh1VJ+9A2sK5IVRuLiq69wbDS0Bsq3oEGbuQYnSvtUdoXPLhLzrqnXnTwPy3D8b1P4U60D8OVNvuGSg= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000002, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On (23/10/06 14:02), Mark-PK Tsai wrote: > Some architectures have implemented optimized > copy_page for full page copying, such as arm. > > On my arm platform, use the copy_page helper > for single page copying is about 10 percent faster > than memcpy. > > Signed-off-by: Mark-PK Tsai TIL I've never heard of arm's copy_page() before. Is it really much faster than memcpy()? Reviewed-by: Sergey Senozhatsky > diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c > index c743ce7a5f49..b1c0dad7f4cf 100644 > --- a/mm/zsmalloc.c > +++ b/mm/zsmalloc.c > @@ -1839,7 +1839,7 @@ static int zs_page_migrate(struct page *newpage, struct page *page, > * Here, any user cannot access all objects in the zspage so let's move. > */ > d_addr = kmap_atomic(newpage); > - memcpy(d_addr, s_addr, PAGE_SIZE); > + copy_page(d_addr, s_addr); I guess you can also look into patching zram_drv.c, which seem to have at least one PAGE_SIZE memcpy().