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 5334EC282EC for ; Tue, 18 Mar 2025 21:54:06 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 214B3280003; Tue, 18 Mar 2025 17:54:05 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1C5C3280001; Tue, 18 Mar 2025 17:54:05 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 03FEA280003; Tue, 18 Mar 2025 17:54:04 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id D46AD280001 for ; Tue, 18 Mar 2025 17:54:04 -0400 (EDT) Received: from smtpin20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 472F558955 for ; Tue, 18 Mar 2025 21:54:05 +0000 (UTC) X-FDA: 83236025250.20.972C818 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by imf22.hostedemail.com (Postfix) with ESMTP id 1510FC0005 for ; Tue, 18 Mar 2025 21:54:02 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BSdchWb5; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf22.hostedemail.com: domain of raquini@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=raquini@redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742334843; a=rsa-sha256; cv=none; b=iVCe8ABiAU/FapQ2Rt+PRaS6dIF8s5I6f5Uy5bawN2LgtwDmpKOMnY03ywvLPhFo133e1u BcmgD5NN/xCHxVlRfWIY01GXfOZ4438CLQTJ0+RDwdWMtrCY/MRDktJeerqi8VZKpV+Kfq O3A6yxAobicYQQkAJUJQnq4h8rCQZsA= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=BSdchWb5; dmarc=pass (policy=quarantine) header.from=redhat.com; spf=pass (imf22.hostedemail.com: domain of raquini@redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=raquini@redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742334843; 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=5b2zp+keJQwfbLWX1UZyFBC4It1uz9YJmwqtHLj4wpM=; b=KCiH5mRphttnoQVuIwj+DnFjnltvdCYUdlbLhyKCinnj/7fE5s4QSLPO2vx7uV9mZANmHJ CAh1lMsHsFkgbOOHHliSD7lj7hlw1WqUNn0SianH6Dd44U0aih8okWDbe+y5C3XXaCp3In XebFMbPD32bZ9lwTPjoqT1V0eNBbpBM= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1742334842; 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: in-reply-to:in-reply-to:references:references; bh=5b2zp+keJQwfbLWX1UZyFBC4It1uz9YJmwqtHLj4wpM=; b=BSdchWb5As4M2PIfP1+54eP6krRv6VBnp/+1maqdnyh6wKTyf1/dPCRR6ORC2x4UNOlGbE FlIVIR3EZGRDfnTgTqEGC+lwG5wuc6jxdijUEQEZKU22j+lrb6cDu2TMQ9NEvlOME+gVuW N5q3Vlh0ds3C6csPGhbUkH+4oAIi1yk= Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-379-4RPujSm5PLu0oi2j3IDs4w-1; Tue, 18 Mar 2025 17:54:01 -0400 X-MC-Unique: 4RPujSm5PLu0oi2j3IDs4w-1 X-Mimecast-MFC-AGG-ID: 4RPujSm5PLu0oi2j3IDs4w_1742334840 Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-7c0b9242877so1451168685a.3 for ; Tue, 18 Mar 2025 14:54:01 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1742334840; x=1742939640; 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=5b2zp+keJQwfbLWX1UZyFBC4It1uz9YJmwqtHLj4wpM=; b=KehSXXm0HOBhFXTi4PezaXFrSp6B0SDvZrHtEjn8YPwa9Yl0nKMrxhnBgOta2Zlf3e R9TBaXDVsgN/Ge1SD1gGcbbE760u6XQsQsmxVKERBXr5P0r2WZcOtbfe3LPGkWums8bD 6/jtzItaKlrWzYx6hMmbnKY4UEtudPTF6/O7AZRIrFnoVa5PaePsYa5OI0bkGYhcAfkE 73Sh5g5E4qvKWUpmPgUteciAqneJZCyemdD0iuQ9Tkp0+jz7CQZJACiHJr1rmXlAoiVF XBFSF7DMtY7CeLf46cwa4CvnhdaX20QE/jmkvyl4g4GRVDKDYW1I/LhhA6Qb+1XLHg/p foqQ== X-Forwarded-Encrypted: i=1; AJvYcCXSsv0Nt7b++BS8EVyE3s3kHl+ohj5ZQg0Yg8ZaZ/lFzE6EsA2SueWEPhmT5VY40G11bluE41wHYg==@kvack.org X-Gm-Message-State: AOJu0YxlwVN25DHnsplNKiY78e/A0Bp9ct1Ub9KHmxDYMvyeDAl3peST GtC9UFBHTGuSWVFDU1UPbApP5sh+89644LH3is2GqjQIjd4v6UMY4NTObZ1AkgE8QKKD1w/5Cx4 IhIgRhhpuSpAi8J33t9zFPdX1hTggKH7qoc+pVPGt8Q7DkRFZ X-Gm-Gg: ASbGncsEE9K9OXl5I4Hg5oJLxj1puiuA9F0fHpkfo0nBIVNgxlvKqs/Ca/ArGRphK01 xZ4cc237RyW9fwqroyEwU1HN6cEYDqFNfl44GCp/BBm2XV2A8GBS/oMfoKBCKjZmN5OTegiBWbf 9NL8fbzC6RtA7T6NQoKD7G7v7XT6Np+wyRWgO+ly85fOVlYyAL8DNfKcq369SPxUiqdNdtOhrCz 5V8jWvw6zWCe5Qqsc3TAJRx5rPtCBO4Eegtv4Cgw6ZZ/20aCTf2lRmYZ7gIl9EFtiE6BUM0ECnE 5EmpnCmdoGEs7uIn2nzLrrL6qAWp3MdhtTaHOON9eJ/lBRZOJFb0z8nJOQ== X-Received: by 2002:a05:620a:25cf:b0:7c5:5883:8fb3 with SMTP id af79cd13be357-7c5a818798emr38799185a.8.1742334840659; Tue, 18 Mar 2025 14:54:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHnPSwaYy7RF/Yi1xWOgmTzmgAypt0b9Ow/O7ph/4lN7lJxXTrNsEF8wjcC8pJEAUjjd22AYg== X-Received: by 2002:a05:620a:25cf:b0:7c5:5883:8fb3 with SMTP id af79cd13be357-7c5a818798emr38797285a.8.1742334840238; Tue, 18 Mar 2025 14:54:00 -0700 (PDT) Received: from athena.aquini.home (c-76-23-219-111.hsd1.me.comcast.net. [76.23.219.111]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7c573c5205bsm775298485a.3.2025.03.18.14.53.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Mar 2025 14:53:59 -0700 (PDT) Date: Tue, 18 Mar 2025 17:53:58 -0400 From: Rafael Aquini To: Ryan Roberts Cc: Andrew Morton , Shuah Khan , Peter Xu , linux-mm@kvack.org, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v1 3/3] selftests/mm: Speed up split_huge_page_test Message-ID: References: <20250318174343.243631-1-ryan.roberts@arm.com> <20250318174343.243631-3-ryan.roberts@arm.com> MIME-Version: 1.0 In-Reply-To: <20250318174343.243631-3-ryan.roberts@arm.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: f3g0s11-CDV3X9h-f0JrKYrCNaMfQNamAv9ICvUWvAs_1742334840 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Rspam-User: X-Rspamd-Queue-Id: 1510FC0005 X-Rspamd-Server: rspam05 X-Stat-Signature: aku11kmr64fwsq759iabzxby4fxsem9e X-HE-Tag: 1742334842-154604 X-HE-Meta: U2FsdGVkX18Gv5bRamnVxxPSshcnA5UCSFWJBR8YnS6NTekHiYiGYNDKJuqrlf4qLjOBsCSYkxnIeHovSR6umFa0T0jgFt8ZPk4HH6py2fREKH0pPTA8JTG8pvnZxd834I87NKXu9ATNlf0YKgMXU6x4i4M3ohm5Zd8K3XF/wi140uZAB0BnvlRUJA4StX6J+SJc5xF6ihDsODcKoYl3RAV+CNNcs3TBD2wUyCXiyKNjCtLJBm766uh/vJCGVyZ6k2Ctvi3yW7QOgfJkBt+c00asO/fkdiV8+Wjmni4LR/zdB0oO0m/+QcywOUIMMlA8WMXcXTvr0L+2jK88psqRbnrn7relGvexcZWNGIbqQrTlZtWHFcuYjpi5+dE+A7+2VnuVfvg4gryMkDmVyg+4vTr4LJJo7+VTrnZAyEYKCKDfYJFfZqfsB6q8Q5if8Xi1iqO+JmmSHHiccQwIwWkfBsoos+XHZImwe+P3am5+Xk+IJj2SxsSVFLzclYWBkY3yWOR787urPjaDFIrunOi6n8WFoav0ozE4LozAvuMFC4ptvtav18T/Nhlox8X8+HaSoFISmgOLizlRQMaDYZCPwcSYTOWn2NpjmFnrc2nOpbD6AH+Dl/10H6Vfrh082MxoposeavIua4LabK8uQd4a++TsF+Ob5sXeXJmjvIIHkKYp123umRimSY7RxYCYRVK4nCihYiSRBje6SjmH99Dy9fUsyNS0tFyNuj7mTQDDnxz0jdH0KQt/EMOaNKVuOxGX41rmzFg+SIdz12piaFAgoxPmbKInGfvCqJe/s8ue08DP+tRNWXYrA/nORDNh7AQJVvuYfCJTLLmy1c2O53Bf80bDCo/uu96kAi1gh010SDQrGhGdLNAAuWbHTQCpyAmX+8BnIC/v5hzlAVAzFyot7umA4A5xYXxKS0jd0boO8PgXvNCVnhiVl9rMkZ3XclWDMHWX0GHofHKJ+qRTdaI 42MSQWEL 07cctbh9die/RbgrjBuZQUF4Ms9eRVmM5atl7uCxvKKaXn9TbFwi7L+Oq/pKn0Rbdz4snDk4DysaPfpmAj5OgwW3uI0DEKWhBM/vyNbcWOlMb99ntFWZeG4Ed0/8nccHzp+GQh/sdRHnQwFGRcpov2pd5bxFU4gBbE7GmCiU2KgzQzZqs0u5b6sZkiw1HyEstg4w+xVcUPZ0vADtQJgeHdtNdNBAHi8uHhAzIde0R8tTAgT88s0nPd1uHnztMHz4zk5h8sDtSMiw6+v/AtpK5xFH4JcRnSWy9+KI+vXeaxryviGW4HQBzyL6AceK3clldMBGhsdpO9zLBsYLa2Ybttb8tVC1ADysVqPqjFGG1L63wDDJY/csjAH/z7U8hlJUeq1l3D7ROvknvSd9OVglAx+9z7e3lx0Y/ICfOd/EF/n7YRjor88fKpLnJntohXO19hqO1heQB9bGVdJCvv/cuPp6J5lR5kRSGxAprIxonyMudSBmrZrkny2BmxoWz+bhyWJc6cQf5BQy5TVxHsv9UQ5SmJnchtRKFrsNAW5hQ+7PWhjJpTpx2g6mcLf2EK4xtMSJRV4Efu4X1XFjePAshpHv2Yg== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Mar 18, 2025 at 05:43:41PM +0000, Ryan Roberts wrote: > create_pagecache_thp_and_fd() was previously writing a file sized at > twice the PMD size by making a per-byte write syscall. This was quite > slow when the PMD size is 4M, but completely intolerable for 32M (PMD > size for arm64's 16K page size), and 512M (PMD size for arm64's 64K page > size). > > The byte pattern has a 256 byte period, so let's create a 1K buffer and > fill it with exactly 4 periods. Then we can write the buffer as many > times as is required to fill the file. This makes things much more > tolerable. > > The test now passes for 16K page size. It still fails for 64K page size > because MAX_PAGECACHE_ORDER is too small for 512M folio size (I think). > > Signed-off-by: Ryan Roberts > --- > tools/testing/selftests/mm/split_huge_page_test.c | 11 +++++++---- > 1 file changed, 7 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/mm/split_huge_page_test.c b/tools/testing/selftests/mm/split_huge_page_test.c > index 3f353f3d070f..499333d75fff 100644 > --- a/tools/testing/selftests/mm/split_huge_page_test.c > +++ b/tools/testing/selftests/mm/split_huge_page_test.c > @@ -5,6 +5,7 @@ > */ > > #define _GNU_SOURCE > +#include > #include > #include > #include > @@ -361,6 +362,7 @@ int create_pagecache_thp_and_fd(const char *testfile, size_t fd_size, int *fd, > { > size_t i; > int dummy = 0; > + unsigned char buf[1024]; > > srand(time(NULL)); > > @@ -368,11 +370,12 @@ int create_pagecache_thp_and_fd(const char *testfile, size_t fd_size, int *fd, > if (*fd == -1) > ksft_exit_fail_msg("Failed to create a file at %s\n", testfile); > > - for (i = 0; i < fd_size; i++) { > - unsigned char byte = (unsigned char)i; > + assert(fd_size % sizeof(buf) == 0); > + for (i = 0; i < sizeof(buf); i++) > + buf[i] = (unsigned char)i; > + for (i = 0; i < fd_size; i += sizeof(buf)) > + write(*fd, buf, sizeof(buf)); > > - write(*fd, &byte, sizeof(byte)); > - } > close(*fd); > sync(); > *fd = open("/proc/sys/vm/drop_caches", O_WRONLY); > -- > 2.43.0 > > Acked-by: Rafael Aquini