OBS User unknown 2007-10-31 20:54:28 +00:00 committed by Git OBS Bridge
parent 40153a663c
commit 2d73569fcd
3 changed files with 83 additions and 4 deletions

View File

@ -1,6 +1,6 @@
--- makeboot.c 2007-06-18 15:32:18.000000000 +0200
+++ makeboot.c 2007-06-20 15:29:02.014773000 +0200
@@ -339,6 +339,10 @@
--- makeboot.c
+++ makeboot.c 2007-10-31 18:42:03.145266987 +0100
@@ -339,6 +339,10 @@ struct makenode *pickup_task(void)
best = node;
}
}
@ -11,3 +11,75 @@
return best;
}
@@ -412,3 +416,36 @@ void dump_status(void)
node->name, node->status, node->num_deps, node->interactive, node->importance);
}
#endif
+
+#ifdef TEST
+void *xcalloc(size_t nmemb, size_t size)
+{
+ void *r;
+ if ((r = (void *)calloc(nmemb, size)) == 0) {
+ fprintf(stderr, "calloc: out of memory\n");
+ exit(1);
+ }
+ return r;
+}
+
+int main(int argc, char **argv)
+{
+ struct makenode *nodevec;
+ char makefile[64];
+
+ if (argc != 2)
+ goto out;
+ nodevec = xcalloc(1, sizeof(*nodevec));
+
+ snprintf(makefile, sizeof(makefile), "depend.%s", argv[1]);
+ parse_makefile(makefile);
+ check_run_files(argv[1], "5", "6");
+out:
+ while ((nodevec = pickup_task())) {
+ fprintf(stdout, "%s\n", nodevec->name);
+ finish_task(nodevec);
+ }
+
+ return 0;
+}
+#endif
--- startpar.c
+++ startpar.c 2007-10-31 17:49:27.179001593 +0100
@@ -72,7 +72,7 @@ struct prg {
static struct prg *prgs;
static int inpar, par;
static int pidpipe[2];
-static int iorate = 800;
+static double iorate = 800.0;
void *xcalloc(size_t nmemb, size_t size)
{
@@ -240,8 +240,8 @@ static int checksystem(const int par, co
if (read_proc(&prcs_run, &prcs_blked))
return par;
- newpar = (par*numcpu) - prcs_run + 1; /* +1 for startpar its self */
- newpar -= (prcs_blked * iorate); /* I/O load reduction */
+ newpar = (par*numcpu) - prcs_run + 1; /* +1 for startpar its self */
+ newpar -= (int)(((double)prcs_blked)*iorate); /* I/O load reduction */
#if DEBUG
fprintf(stderr, "checksystem par=%d newpar=%d (prcs_run=%u) %ld\n", par, newpar, prcs_run, time(0));
@@ -573,9 +573,9 @@ int main(int argc, char **argv)
usage(0);
break;
case 'i':
- iorate = atoi(optarg);
- if (iorate <= 0)
- iorate = 800;
+ iorate = atof(optarg);
+ if (iorate < 0.0)
+ iorate = 800.0;
break;
default:
usage(1);

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Wed Oct 31 18:37:58 CET 2007 - werner@suse.de
- startpar: make iorate a double
-------------------------------------------------------------------
Wed Oct 31 17:20:49 CET 2007 - werner@suse.de

View File

@ -22,7 +22,7 @@ Group: System/Base
PreReq: coreutils
AutoReqProv: on
Version: 2.86
Release: 105
Release: 106
Summary: SysV-Style init
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: sysvinit-2.86.tar.bz2
@ -282,6 +282,8 @@ rm -rf ${RPM_BUILD_ROOT}
%doc %{_mandir}/man8/startpar.8.gz
%changelog
* Wed Oct 31 2007 - werner@suse.de
- startpar: make iorate a double
* Wed Oct 31 2007 - werner@suse.de
- startproc: add option -T sec to finish waiting if parent exits
* Wed Jun 20 2007 - coolo@suse.de
- startpar: mark started processes as running