diff --git a/HOWTO b/HOWTO
index 3f4a667..ae19834 100644
--- a/HOWTO
+++ b/HOWTO
@@ -86,7 +86,13 @@
 parameters on the command line. The command line parameters are identical
 to the job parameters, with a few extra that control global parameters
 (see README). For example, for the job file parameter iodepth=2, the
-mirror command line option would be --iodepth 2 or --iodepth=2.
+mirror command line option would be --iodepth 2 or --iodepth=2. You can
+also use the command line for giving more than one job entry. For each
+--name option that fio sees, it will start a new job with that name.
+Command line entries following a --name entry will apply to that job,
+until there are no more entries or a new --name entry is seen. This is
+similar to the job file options, where each option applies to the current
+job until a new [] job entry is seen.
 
 fio does not need to run as root, except if the files or devices specified
 in the job section requires that. Some other options may also be restricted,
@@ -121,7 +127,11 @@
 
 As you can see, the job file sections themselves are empty as all the
 described parameters are shared. As no filename= option is given, fio
-makes up a filename for each of the jobs as it sees fit.
+makes up a filename for each of the jobs as it sees fit. On the command
+line, this job would look as follows:
+
+$ fio --name=global --rw=randread --size=128m --name=job1 --name=job2
+
 
 Lets look at an example that have a number of processes writing randomly
 to files.
@@ -176,7 +186,9 @@
 
 name=str	ASCII name of the job. This may be used to override the
 		name printed by fio for this job. Otherwise the job
-		name is used.
+		name is used. On the command line this parameter has the
+		special purpose of also signalling the start of a new
+		job.
 
 directory=str	Prefix filenames with this directory. Used to places files
 		in a different location than "./".
diff --git a/init.c b/init.c
index c799bf5..20ea267 100644
--- a/init.c
+++ b/init.c
@@ -985,7 +985,7 @@
 static int parse_cmd_line(int argc, char *argv[])
 {
 	struct thread_data *td = NULL;
-	int c, ini_idx = 0, lidx;
+	int c, ini_idx = 0, lidx, ret;
 
 	while ((c = getopt_long(argc, argv, "", long_options, &lidx)) != -1) {
 		switch (c) {
@@ -1019,8 +1019,18 @@
 			const char *opt = long_options[lidx].name;
 			char *val = optarg;
 
+			if (!strncmp(opt, "name", 4) && td) {
+				ret = add_job(td, td->name ?: "fio", 0);
+				if (ret) {
+					put_job(td);
+					return 0;
+				}
+				td = NULL;
+			}
 			if (!td) {
-				td = get_new_job(0, &def_thread);
+				int global = !strncmp(opt, "global", 6);
+
+				td = get_new_job(global, &def_thread);
 				if (!td)
 					return 0;
 			}
@@ -1035,13 +1045,7 @@
 	}
 
 	if (td) {
-		const char *name = td->name;
-		int ret;
-
-		if (!name)
-			name = "fio";
-
-		ret = add_job(td, name, 0);
+		ret = add_job(td, td->name ?: "fio", 0);
 		if (ret)
 			put_job(td);
 	}
