diff mbox series

[27/28] scaleread: remove dead test code

Message ID 20250417031208.1852171-28-david@fromorbit.com (mailing list archive)
State New
Headers show
Series check-parallel: Running tests without check | expand

Commit Message

Dave Chinner April 17, 2025, 3:01 a.m. UTC
From: Dave Chinner <dchinner@redhat.com>

scaleread.{c,sh} is a one-off test case for a "will-it-scale" page
cache read workload from NASA back in 2003. This has not been
directly exercised by fstests since it was added 20 years ago.
The scaleread.c source code isn't even built by src/Makefile, so
it is definitely stale, dead code. Remove it.

Signed-off-by: Dave Chinner <dchinner@redhat.com>
---
 src/Makefile     |   2 +-
 src/scaleread.c  | 224 -----------------------------------------------
 src/scaleread.sh |  64 --------------
 3 files changed, 1 insertion(+), 289 deletions(-)
 delete mode 100644 src/scaleread.c
 delete mode 100644 src/scaleread.sh
diff mbox series

Patch

diff --git a/src/Makefile b/src/Makefile
index 6a31ceb01..fe7441068 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -37,7 +37,7 @@  LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \
 	detached_mounts_propagation ext4_resize t_readdir_3 splice2pipe \
 	uuid_ioctl t_snapshot_deleted_subvolume fiemap-fault min_dio_alignment
 
-EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \
+EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check \
 	      btrfs_crc32c_forged_name.py popdir.pl popattr.py \
 	      soak_duration.awk parse-dev-tree.awk parse-extent-tree.awk
 
diff --git a/src/scaleread.c b/src/scaleread.c
deleted file mode 100644
index 4a1def005..000000000
--- a/src/scaleread.c
+++ /dev/null
@@ -1,224 +0,0 @@ 
-// SPDX-License-Identifier: GPL-2.0
-/*
- * Copyright (c) 2003-2004 Silicon Graphics, Inc.
- * All Rights Reserved.
- */
-/*
- * Test scaling of multiple processes opening/reading
- * a number of small files simultaneously.
- *	- create <f> files
- *	- fork <n> processes
- *	- wait for all processes ready
- *	- start all proceses at the same time
- *	- each processes opens , read, closes each file
- *	- option to resync each process at each file
- *
- *	test [-c cpus] [-b bytes] [-f files] [-v] [-s] [-S]
- *			OR
- *	test -i [-b bytes] [-f files] 
- */
-#include <unistd.h>
-#include <string.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <sys/wait.h>
-#include <fcntl.h>
-#include <stdlib.h>
-#include <sys/ipc.h>
-#include <sys/shm.h>
-
-void do_initfiles(void);
-void slave(int);
-
-#define VPRINT(x...)	do { if(verbose) fprintf(x);} while(0)
-#define perrorx(s) do {perror(s); exit(1);} while (0)
-
-long bytes=8192;
-int cpus=1;
-int init=0;
-int strided=0;
-int files=1;
-int blksize=512;
-int syncstep=0;
-int verbose=0;
-
-typedef struct {
-        volatile long   go;
-        long            fill[15];
-        volatile long   rdy[512];
-} share_t;
-
-share_t	*sharep;
-
-
-int
-runon(int cpu)
-{
-#ifdef sys_sched_setaffinity
-	unsigned long mask[8];
-	
-	if (cpu < 0 || cpu >= 512)
-		return -1;
-	memset(mask, 0, sizeof(mask));
-	mask[cpu/64] |= 1UL<<(cpu&63);
-
-	if (syscall(sys_sched_setaffinity, 0, sizeof(mask), mask))
-		return -1;
-#endif
-	return 0;
-}
-
-long
-scaled_atol(char *p)
-{
-	long val;
-	char  *pe;
-
-	val = strtol(p, &pe, 0);
-	if (*pe == 'K' || *pe == 'k')
-		val *= 1024L;
-	else if (*pe == 'M' || *pe == 'm')
-		val *= 1024L*1024L;
-	else if (*pe == 'G' || *pe == 'g')
-		val *= 1024L*1024L*1024L;
-	else if (*pe == 'p' || *pe == 'P')
-		val *= getpagesize();
-	return val;
-}
-
-
-int
-main(int argc, char** argv) {
-        int shmid;
-        static  char            optstr[] = "c:b:f:sSivH";
-        int                     notdone, stat, i, j, c, er=0;
-
-        opterr=1;
-        while ((c = getopt(argc, argv, optstr)) != EOF)
-                switch (c) {
-                case 'c':
-                        cpus = atoi(optarg);
-                        break;
-                case 'b':
-                        bytes = scaled_atol(optarg);
-                        break;
-                case 'f':
-                        files = atoi(optarg);
-                        break;
-                case 'i':
-                        init++;
-                        break;
-                case 's':
-                        syncstep++;
-                        break;
-                case 'S':
-                        strided++;
-                        break;
-                case 'v':
-                        verbose++;
-                        break;
-                case '?':
-                        er = 1;
-                        break;
-                }
-        if (er) {
-                printf("usage: %s %s\n", argv[0], optstr);
-                exit(1);
-        }
-
-
-	if ((shmid = shmget(IPC_PRIVATE, sizeof (share_t), IPC_CREAT|SHM_R|SHM_W))  == -1)
-		perrorx("shmget failed");
-	sharep = (share_t*)shmat(shmid, (void*)0, SHM_R|SHM_W);
-	memset(sharep, -1, sizeof (share_t));
-
-	if (init) {
-		do_initfiles();
-		exit(0);
-	}
-        for (i=0; i<cpus; i++) {
-                if (fork() == 0)
-                        slave(i);
-        }
-
-	for (i=0; i<files; i++) {
-		VPRINT(stderr, "%d:", i);
-		notdone = cpus;
-		do {
-			for (j=0; j<cpus; j++) {
-				if (sharep->rdy[j] == i) {
-					sharep->rdy[j] = -1;
-					VPRINT(stderr, " %d", j);
-					notdone--;
-				}
-			}
-		} while (notdone);
-		VPRINT(stderr, "\n");
-		sharep->go = i;
-		if (!syncstep)
-			break;
-	}
-	VPRINT(stderr, "\n");
-
-        while (wait(&stat)> 0)
-		VPRINT(stderr, ".");
-	VPRINT(stderr, "\n");
-
-	exit(0);
-}
-
-void 
-slave(int id)
-{
-	int	i, fd, byte;
-	char	*buf, filename[32];
-
-	runon (id+1);
-	buf = malloc(blksize);
-	bzero(buf, blksize);
-	for (i=0; i<files; i++) {
-		if (!i || syncstep) {
-			sharep->rdy[id] = i;
-			while(sharep->go != i);
-		}
-		sprintf(filename, "/tmp/tst.%d", (strided ? ((i + id) % files) : i));
-		if ((fd = open (filename, O_RDONLY)) < 0) {
-			perrorx(filename);
-		}
-	
-		for (byte=0; byte<bytes; byte+=blksize) {
-			if (read (fd, buf, blksize) != blksize)
-				perrorx("read of file failed");
-		}
-		close(fd);
-	}
-	exit(0);
-}
-
-void
-do_initfiles(void)
-{
-	int	i, fd, byte;
-	char	*buf, filename[32];
-
-	buf = malloc(blksize);
-	bzero(buf, blksize);
-
-	for (i=0; i<files; i++) {
-		sprintf(filename, "/tmp/tst.%d", i);
-		unlink(filename);
-		if ((fd = open (filename, O_RDWR|O_CREAT, 0644)) < 0)
-			perrorx(filename);
-	
-		for (byte=0; byte<bytes; byte+=blksize) {
-			if (write (fd, buf, blksize) != blksize)
-				perrorx("write of file failed");
-		}
-		close(fd);
-	}
-	sync();
-}
-
-
diff --git a/src/scaleread.sh b/src/scaleread.sh
deleted file mode 100644
index 691b8eb12..000000000
--- a/src/scaleread.sh
+++ /dev/null
@@ -1,64 +0,0 @@ 
-#!/bin/sh
-#
-# Copyright (c) 2003-2004 Silicon Graphics, Inc.  All Rights Reserved.
-#
-
-help() {
-cat <<END
-Measure scaling of multiple cpus readin the same set of files.
-(NASA testcase).
-	Usage:  $0 [-b <bytes>] [-f <files>] [-s] [-B] [-v] cpus ...
-			or
-		$0 -i [-b <bytes>] [-f <files>] 
-
-	  -b file size in bytes
-	  -f number of files
-	  -s keep processes synchronized when reading files
-	  -B use bcfree to free buffer cache pages before each run
-END
-exit 1
-}
-
-err () {
-	echo "ERROR - $*"
-	exit 1
-}
-
-BYTES=8192
-FILES=10
-SYNC=""
-VERBOSE=""
-STRIDED=""
-BCFREE=0
-INIT=0
-OPTS="f:b:vsiSBH"
-while getopts "$OPTS" c ; do
-	case $c in
-		H)  help;;
-		f)  FILES=${OPTARG};;
-		b)  BYTES=${OPTARG};;
-		i)  INIT=1;;
-		B)  BCFREE=1;;
-		S)  STRIDED="-S";;
-		s)  SYNC="-s";;
-		v)  VERBOSE="-v";;
-		\?) help;;
-	esac
-
-done
-shift `expr $OPTIND - 1`
-
-if [ $INIT -gt 0 ] ; then
-	echo "Initializing $BYTES bytes, $FILES files"
-	./scaleread $VERBOSE -i -b $BYTES -f $FILES 
-	sync
-else
-	[ $# -gt 0 ] || help
-	echo "Testing $BYTES bytes, $FILES files"
-	for CPUS in $* ; do
-		[ $BCFREE -eq 0 ] || bcfree -a
-		/usr/bin/time -f "$CPUS:  %e wall,    %S sys,   %U user" ./scaleread \
-			$SYNC $STRIDED $VERBOSE -b $BYTES -f $FILES -c $CPUS
-	done
-fi
-