Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 1662 → Rev 1663

/unsupported/trunk/crunch/load/step3.c
0,0 → 1,476
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
/**
------------
CVS : $Id: step3.c,v 1.1 2004-07-05 14:17:15 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:17:15 $
------------
**/
 
/*
* Copyright (C) 2000 Paolo Gai
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
#include "kernel/kern.h"
#include "string.h"
#include "ll/i386/x-dos.h"
#include "modules/rr.h"
#include "modules/dummy.h"
#include "modules/edf.h"
#include "modules/sem.h"
#include "modules/hartport.h"
#include "drivers/keyb.h"
#include "ctype.h"
#include "tune.h"
 
 
int ending=0;
 
 
// Patterns
#define MAX_PATTERN 10000
int max_pattern = 0;
TIME pattern_t[MAX_PATTERN];
TIME pattern_period[MAX_PATTERN];
TIME pattern_wcet[MAX_PATTERN];
TIME pattern_iter[MAX_PATTERN];
TIME pattern_value[MAX_PATTERN];
TIME pattern_penalty[MAX_PATTERN];
 
// Random load
int max_random = 0;
TIME random_t[MAX_PATTERN];
TIME random_reldline[MAX_PATTERN];
TIME random_wcet[MAX_PATTERN];
int random_value[MAX_PATTERN];
int random_penalty[MAX_PATTERN];
 
// Bad load
int max_bad = 0;
TIME bad_t[MAX_PATTERN];
TIME bad_reldline[MAX_PATTERN];
TIME bad_wcet[MAX_PATTERN];
int bad_value[MAX_PATTERN];
int bad_penalty[MAX_PATTERN];
 
 
 
#define WCET_SLACK 500
 
void tune_pattern(void)
{
int i,w;
 
for (i=0; i<max_pattern; i++) {
place(0,15);
cprintf("Tuning index %d/%d.\n",i,max_pattern);
if (i>0 && pattern_wcet[i]==pattern_wcet[i-1])
pattern_iter[i] = pattern_iter[i-1];
else {
w = (pattern_wcet[i]*80)/100-WCET_SLACK;
// if (w>pattern_wcet[i]-WCET_SLACK) w=pattern_wcet[i]-WCET_SLACK;
pattern_iter[i] = tune_CPU_speed(w);
}
}
}
 
 
 
 
// Shape modification
 
#define DEFAULT_SHIFT 1000000
#define MAX_SHAPE 1000
 
bandwidth_t shape_B[MAX_SHAPE];
TIME shape_T[MAX_SHAPE];
int max_shape;
 
 
 
// this function creates a set if tasks (1 or 2) that comes at random
// time, with random values and random wcet.
#define MAX_PERIOD 2998
void generate_random_load(void)
{
int current_time = DEFAULT_SHIFT;
 
while (current_time<shape_T[max_shape-1]*1000000) {
random_t[max_random] = current_time;
random_reldline[max_random] = rand()%MAX_PERIOD*1000+2;
random_wcet[max_random] = rand()%(random_reldline[max_random]-1000)+1000;
random_value[max_random] = rand()%101;
random_penalty[max_random] = rand()%101;
 
if (rand()%2)
current_time += random_reldline[max_random] + 100000;
 
max_random++;
}
}
 
#define MAX_VALUE_REL_DLINE 3000000
#define SUBTASKS 10
#define SUBSUBTASKS 30
void generate_bad_load(void)
{
int i,j,k;
bandwidth_t freeB;
TIME t,l;
 
 
int subtasks, rdline;
 
for (i=1; i < max_shape; i++) {
//length of the period with the same max bandwidth
l = (shape_T[i]-shape_T[i-1])* 1000000;
freeB = MAX_BANDWIDTH - shape_B[i-1];
t = shape_T[i-1]*1000000 + DEFAULT_SHIFT;
 
if (l/SUBTASKS > MAX_VALUE_REL_DLINE) {
subtasks = l/MAX_VALUE_REL_DLINE;
rdline = MAX_VALUE_REL_DLINE;
}
else {
subtasks = SUBTASKS;
rdline = l/SUBTASKS;
}
 
for (j=0; j<subtasks; j++) {
// create the first "big" task
bad_t[max_bad] = t;
bad_reldline[max_bad] = rdline;
bad_wcet[max_bad] = (int)(((double)freeB/(double)MAX_BANDWIDTH)*bad_reldline[max_bad]);
bad_value[max_bad] = 80;
bad_penalty[max_bad] = 90;
max_bad++;
 
// create the small subtasks!!
for (k=0; k<SUBSUBTASKS; k++) {
bad_t[max_bad] = t;
bad_reldline[max_bad] = rdline/SUBSUBTASKS;
bad_wcet[max_bad] = (int)(((double)freeB/(double)MAX_BANDWIDTH)*bad_reldline[max_bad]);
bad_value[max_bad] = 100/SUBSUBTASKS;
bad_penalty[max_bad] = 200/SUBSUBTASKS;
max_bad++;
 
t += rdline/SUBSUBTASKS;
}
}
}
}
 
#define INSERT_RANDOM 1
#define INSERT_BAD 2
 
// This function merges the random load and the bad_load into the pattern!
// This function subsumes that the two arrays are ordered by time.
void generate_pattern(void)
{
int random_i, bad_i;
int todo = 0;
 
random_i = 0;
bad_i = 0;
 
while (!(random_i == max_random && bad_i == max_bad)) {
if (random_i < max_random) {
// there are random available
if (bad_i < max_bad)
// random and bad available
if (random_t[random_i] < bad_t[bad_i])
todo = INSERT_RANDOM;
else
todo = INSERT_BAD;
else
// only random
todo = INSERT_RANDOM;
}
else
// only bad available
todo = INSERT_BAD;
 
if (todo == INSERT_RANDOM) {
pattern_t[max_pattern] = random_t[random_i];
pattern_period[max_pattern] = random_reldline[random_i];
pattern_wcet[max_pattern] = random_wcet[random_i];
pattern_value[max_pattern] = random_value[random_i];
pattern_penalty[max_pattern] = random_penalty[random_i];
max_pattern++;
random_i++;
}
else {
pattern_t[max_pattern] = bad_t[bad_i];
pattern_period[max_pattern] = bad_reldline[bad_i];
pattern_wcet[max_pattern] = bad_wcet[bad_i];
pattern_value[max_pattern] = bad_value[bad_i];
pattern_penalty[max_pattern] = bad_penalty[bad_i];
max_pattern++;
bad_i++;
}
}
}
 
// Read/Write part
 
#define FILEBUF_DIM 10000
 
/* This is the buffer used by read_myfile */
char myfilebuf[FILEBUF_DIM];
 
/* This is the number of bytes read by read_myfile */
int myfilebuf_length;
 
/* the buffer b is scannedc to search for numbers
at the first non-number the function stops */
int geti(char *b, int *pos, int maxpos)
{
int res = 0;
 
// skip first chars
while (!isdigit(b[*pos])) {
(*pos)++;
if (*pos == maxpos) return -1; // Error!!!
}
 
 
// read the numbers
do {
res = (res * 10) + b[*pos] - '0';
(*pos)++;
} while (isdigit(b[*pos]));
 
return res;
}
 
 
void parse_shape(void)
{
int curr_filepos = 0;
int i = 0;
 
// read the number of tasks into the data file
max_shape = geti(myfilebuf, &curr_filepos, myfilebuf_length);
if (max_shape == -1) {
cprintf("Error parsing shape.dat file...\n");
sys_end();
}
 
for (i=0; i<max_shape; i++) {
// read the seven datas
shape_T[i] = geti(myfilebuf, &curr_filepos, myfilebuf_length);
shape_B[i] = geti(myfilebuf, &curr_filepos, myfilebuf_length);
 
// check the last one for an error
if (shape_B[i] == -1) {
cprintf("Error parsing shape %d...\n",i);
sys_end();
}
}
}
 
void read_shapes(void)
{
char name[]="shape.dat";
 
/* DOS file descriptor */
DOS_FILE *f;
 
/* Error code */
int err;
 
/* open the DOS file for reading (you can specify only "r" or "w") */
f = DOS_fopen(name,"r");
 
/* check for open errors */
if (!f) {
/* error!! */
err = DOS_error();
 
/* note that if you call DOS_error() here, it return 0!!! */
cprintf("Error %d opening %s...\n", err, name);
myfilebuf_length = 0;
return;
}
 
/* read up to 1000 chars */
myfilebuf_length = DOS_fread(&myfilebuf,1,FILEBUF_DIM,f);
 
/* check for errors */
err = DOS_error();
 
cprintf("Read %d bytes from %s...\n", myfilebuf_length, name);
 
if (err) {
cprintf("Error %d reading %s...\n", err, name);
myfilebuf_length = 0;
/* there is not return because I want to close the file! */
}
 
/* Close the file */
DOS_fclose(f);
}
 
 
/* This function write myfile.out (up to 30 chars) */
void write_vpattern(void *arg)
{
DOS_FILE *f; /* DOS file descriptor */
int err=0; /* Error code */
int writtenbytes = 0; /* number of files written */
char buf[100];
int i;
 
/* open the DOS file for writing (you can specify only "r" or "w") */
f = DOS_fopen("vpattern.dat","w");
 
/* check for open errors */
if (!f) {
/* error!! */
err = DOS_error();
 
/* note that if you call DOS_error() here, it return 0!!! */
cprintf("Error %d opening hpattern.dat...\n", err);
return;
}
 
sprintf(buf,"%d\r\n",max_pattern);
writtenbytes += DOS_fwrite(buf,1,strlen(buf),f);
 
for (i=0; i<max_pattern; i++) {
sprintf(buf,"%ld %ld %ld %ld %ld %ld\r\n",
pattern_t[i],
pattern_period[i],
pattern_wcet[i],
pattern_iter[i],
pattern_value[i],
pattern_penalty[i]);
 
writtenbytes += DOS_fwrite(buf,1,strlen(buf),f);
 
/* check for errors */
err = DOS_error();
if (err) break;
}
 
cprintf("Written %d bytes into vpattern.dat...\n", writtenbytes);
 
if (err) {
cprintf("Error %d writing vpattern.dat...\n", err);
/* there is not return because I want to close the file! */
}
 
/* Close the file */
DOS_fclose(f);
}
 
 
 
 
 
 
 
 
 
/*+ sysyem tick in us +*/
#define TICK 0
 
/*+ RR tick in us +*/
#define RRTICK 10000
 
void read_myfile(void);
 
TIME __kernel_register_levels__(void *arg)
{
struct multiboot_info *mb = (struct multiboot_info *)arg;
 
EDF_register_level(EDF_ENABLE_ALL);
RR_register_level(RRTICK, RR_MAIN_NO, mb);
RR_register_level(RRTICK, RR_MAIN_YES, mb);
dummy_register_level();
 
SEM_register_module();
 
read_shapes();
 
return TICK;
}
 
 
NRT_TASK_MODEL keyb_model;
 
TASK __init__(void *arg)
{
KEYB_PARMS kparms = BASE_KEYB;
 
HARTPORT_init();
 
nrt_task_default_model(keyb_model);
nrt_task_def_system(keyb_model);
nrt_task_def_nokill(keyb_model);
keyb_def_task(kparms,(TASK_MODEL *)&keyb_model);
KEYB_init(&kparms);
 
set_exchandler_grx();
 
srand(sys_gettime(NULL));
 
clear();
 
sys_atrunlevel(write_vpattern, NULL, RUNLEVEL_AFTER_EXIT);
 
parse_shape();
 
// random load...
generate_random_load();
 
// a big task and a lot of small tasks that uses 2*(MAX_BANDWIDTH-shape)
generate_bad_load();
 
// mixes the two loads
generate_pattern();
 
tune_pattern();
 
return (void *)0;
}
 
// never called!!!
int main()
{
return 0;
}
/unsupported/trunk/crunch/load/step1b.c
0,0 → 1,34
/*
Step 1b: Generation of the Shape of the hard periodic load
---------------------------------------------------------
This is a variant for the step1. It simply produces a constant periodic
load.
*/
 
#include <stdio.h>
#include <stdlib.h>
 
#define MAX_BANDWIDTH 0xFFFFFFFF
 
int x;
int x_total[1000], x_B[1000];
 
int main()
{
unsigned length;
unsigned i;
 
scanf("%d",&length);
 
srand(time(0));
 
printf("2\n");
 
i=(MAX_BANDWIDTH/100)*(rand()%90);
 
printf("0 %u\n",i);
printf("%u 0\n",length);
 
fprintf(stderr,"Bandwidth=%f",((double)i)/MAX_BANDWIDTH);
return 0;
}
/unsupported/trunk/crunch/load/step4.c
0,0 → 1,189
/*
* step 3: generation of the configuration file for CRUNCH
*/
 
#include <stdio.h>
 
// Patterns
#define MAX_PATTERN 10000
int max_hpattern = 0;
int hpattern_t[MAX_PATTERN];
int hpattern_period[MAX_PATTERN];
int hpattern_wcet[MAX_PATTERN];
int hpattern_iter[MAX_PATTERN];
 
int hpattern_index=0;
 
 
int max_vpattern = 0;
int vpattern_t[MAX_PATTERN];
int vpattern_period[MAX_PATTERN];
int vpattern_wcet[MAX_PATTERN];
int vpattern_iter[MAX_PATTERN];
int vpattern_value[MAX_PATTERN];
int vpattern_penalty[MAX_PATTERN];
 
int vpattern_index=0;
 
// Data structores needed for crunch
#define MAX_CRUNCH 10000
int crunch_max = 0;
int crunch_t[MAX_CRUNCH];
int crunch_type[MAX_CRUNCH];
int crunch_dline[MAX_CRUNCH];
int crunch_wcet[MAX_CRUNCH];
int crunch_iterations[MAX_CRUNCH];
int crunch_value[MAX_CRUNCH];
int crunch_penalty[MAX_CRUNCH];
 
 
 
 
void read_hpattern(char *);
void read_vpattern(char *);
void merge_dat(void);
void write_dat(void);
 
 
int main(int argc, char **argv)
{
if (argc != 3) {
fprintf(stderr,"Usage: step4 hpattern.dat vpattern.dat\n\n");
exit(0);
}
 
read_hpattern(argv[1]);
 
read_vpattern(argv[2]);
 
merge_dat();
 
write_dat();
 
return 0;
}
 
 
/*
*
* Reading/Writing patterns
*
*/
 
/*
* This function read from a file written in the format of
* hpattern.dat, and fills the internal pattern data structure.
*/
void read_hpattern(char *name)
{
int i;
FILE *f;
 
f = fopen(name,"r");
 
 
fscanf(f,"%d", &max_hpattern);
 
for (i=0; i<max_hpattern; i++) {
fscanf(f,"%d %d %d %d", &hpattern_t[i], &hpattern_period[i],
&hpattern_wcet[i], &hpattern_iter[i]);
 
// printf("Hard %d %d %d %d\n", hpattern_t[i], hpattern_period[i],
// hpattern_wcet[i], hpattern_iter[i]);
 
}
}
 
/*
* This function read from a file written in the format of
* vpattern.dat, and fills the internal pattern data structure.
*/
void read_vpattern(char *name)
{
int i;
FILE *f;
 
f = fopen(name,"r");
 
 
fscanf(f,"%d", &max_vpattern);
 
for (i=0; i<max_vpattern; i++) {
fscanf(f,"%d %d %d %d %d %d",
&vpattern_t[i], &vpattern_period[i],
&vpattern_wcet[i], &vpattern_iter[i],
&vpattern_value[i], &vpattern_penalty[i]);
 
// printf("Value %d %d %d %d %d %d\n", vpattern_t[i], vpattern_period[i],
// vpattern_wcet[i], vpattern_iter[i],
// vpattern_value[i], vpattern_penalty[i]);
 
}
}
 
#define INSERT_V 1
#define INSERT_H 2
 
void merge_dat(void)
{
int h_i, v_i;
int todo = 0;
 
h_i = 0;
v_i = 0;
 
while (!(h_i == max_hpattern && v_i == max_vpattern)) {
if (h_i < max_hpattern)
// there are h available
if (v_i < max_vpattern)
// random and bad available
if (vpattern_t[v_i] < hpattern_t[h_i])
todo = INSERT_V;
else
todo = INSERT_H;
else
// only H
todo = INSERT_H;
else
// only bad available
todo = INSERT_V;
 
if (todo == INSERT_V) {
crunch_t[crunch_max] = vpattern_t[v_i];
crunch_type[crunch_max] = 1;
crunch_dline[crunch_max] = vpattern_period[v_i];
crunch_wcet[crunch_max] = vpattern_wcet[v_i];
crunch_iterations[crunch_max] = vpattern_iter[v_i];
crunch_value[crunch_max] = vpattern_value[v_i];
crunch_penalty[crunch_max] = vpattern_penalty[v_i];
crunch_max++;
v_i++;
}
else {
crunch_t[crunch_max] = hpattern_t[h_i];
crunch_type[crunch_max] = 0;
crunch_dline[crunch_max] = hpattern_period[h_i];
crunch_wcet[crunch_max] = hpattern_wcet[h_i];
crunch_iterations[crunch_max] = hpattern_iter[h_i];
crunch_value[crunch_max] = 0;
crunch_penalty[crunch_max] = 0;
crunch_max++;
h_i++;
}
}
}
 
void write_dat(void)
{
int i;
 
printf("%d\n", crunch_max);
 
for (i=0; i<crunch_max; i++)
printf("%d %d %d %d %d %d %d\n",
crunch_t[i], crunch_type[i], crunch_dline[i], crunch_wcet[i],
crunch_iterations[i], crunch_value[i], crunch_penalty[i]);
}
 
/unsupported/trunk/crunch/load/step2b.c
0,0 → 1,456
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
/**
------------
CVS : $Id: step2b.c,v 1.1 2004-07-05 14:17:15 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:17:15 $
------------
**/
 
/*
* Copyright (C) 2000 Paolo Gai
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
#include "kernel/kern.h"
#include "string.h"
#include "ll/i386/x-dos.h"
#include "modules/rr.h"
#include "modules/dummy.h"
#include "modules/edf.h"
#include "modules/sem.h"
#include "modules/hartport.h"
#include "drivers/keyb.h"
#include "ctype.h"
#include "tune.h"
 
 
int ending=0;
 
 
// Patterns
#define MAX_PATTERN 10000
int max_pattern = 0;
TIME pattern_t[MAX_PATTERN];
TIME pattern_period[MAX_PATTERN];
TIME pattern_wcet[MAX_PATTERN];
TIME pattern_iter[MAX_PATTERN];
 
void record_pattern(TIME t, TIME period, TIME wcet)
{
pattern_t[max_pattern] = t;
pattern_period[max_pattern] = period;
pattern_wcet[max_pattern] = wcet;
max_pattern++;
}
 
#define WCET_SLACK 500
 
void tune_pattern(void)
{
int i,w;
 
for (i=0; i<max_pattern; i++) {
w = (pattern_wcet[i]*80)/100-WCET_SLACK;
// if (w>pattern_wcet[i]-WCET_SLACK) w=pattern_wcet[i]-WCET_SLACK;
if (w<0) w=WCET_SLACK/2;
pattern_iter[i] = tune_CPU_speed(w);
}
}
 
 
 
 
// Shape modification
 
#define DEFAULT_SHIFT 1000000
#define MAX_SHAPE 1000
 
bandwidth_t shape=0; // current shape threshold
 
int current_shape = 0;
bandwidth_t shape_B[MAX_SHAPE];
TIME shape_T[MAX_SHAPE];
int max_shape;
 
void shape_event(void *arg)
{
shape = shape_B[0];
}
 
void end_event(void *arg)
{
ending = 1;
}
 
void start_shape(void)
{
struct timespec t;
 
NULL_TIMESPEC(&t);
kern_cli();
kern_event_post(&t,shape_event,NULL);
ADDUSEC2TIMESPEC(DEFAULT_SHIFT,&t);
kern_event_post(&t,end_event,NULL);
kern_sti();
}
 
// Hard task
#define ASTER_LIM 80
void *hard_task(void *arg)
{
int j, x, y;
char s[2];
 
struct timespec t;
int b;
NULL_TIMESPEC(&t);
ADDUSEC2TIMESPEC((DEFAULT_SHIFT*2)/3,&t);
 
b = TIMESPEC_A_LT_B(&proc_table[exec_shadow].request_time,&t);
 
do {
x = 0;
y = rand() % 6 + 3;
s[0] = '*'; s[1] = 0;
while (x < ASTER_LIM) {
for (j=0; j<50; j++) {
s[0] = '*' + rand() % 100;
puts_xy(x,y,rand()%15+1,s);
}
task_endcycle();
puts_xy(x,y,WHITE," ");
x++;
}
} while (b && !ending);
 
return (void *)0;
}
 
 
#define MAX_PERIOD 100
// Load creation
void *create_load(void *arg)
{
PID p;
 
HARD_TASK_MODEL m;
TIME period = 0;
TIME wcet = 0;
int x; // adaptive bandwidth...
int counter=0;
 
char buf[100];
 
hard_task_default_model(m);
 
x = MAX_PERIOD/3;
 
place(0,11);
 
// waiting for the start time :-)
while (sys_gettime(NULL)<DEFAULT_SHIFT/2);
 
while (1) {
sprintf(buf,"Shape: %5.3f Band: %5.3f period: %10ld wcet: %10ld Time: %d",
(double)shape/(double)MAX_BANDWIDTH,
(double)EDF_usedbandwidth(0)/(double)MAX_BANDWIDTH,
period, wcet, sys_gettime(NULL)/1000000);
puts_xy(0,10,WHITE,buf);
 
period = (x+rand() % (MAX_PERIOD-x+1))*1000;
wcet = rand()%1000 * (period/1500);
 
if ((MAX_BANDWIDTH/period)*wcet > shape - EDF_usedbandwidth(0))
wcet = (shape - EDF_usedbandwidth(0))/period;
 
if (wcet < period/40) wcet=period/40;
if (wcet < 500) wcet=500;
 
if (EDF_usedbandwidth(0) + (MAX_BANDWIDTH/period)*wcet < shape) {
 
hard_task_def_mit(m, period);
hard_task_def_wcet(m, wcet);
p = task_create("hard_task",hard_task,&m,NULL);
if (p == -1) {
x += rand()%10-4;
}
else {
record_pattern(sys_gettime(NULL),period,wcet);
cprintf("%d ",++counter);
task_activate(p);
x *= 3;
x /= 4;
}
if (x<MAX_PERIOD/3) x = MAX_PERIOD/3;
if (x > MAX_PERIOD) x = MAX_PERIOD;
}
 
if (ending) return (void *)0;
}
}
 
 
// Read/Write part
 
#define FILEBUF_DIM 10000
 
/* This is the buffer used by read_myfile */
char myfilebuf[FILEBUF_DIM];
 
/* This is the number of bytes read by read_myfile */
int myfilebuf_length;
 
/* the buffer b is scannedc to search for numbers
at the first non-number the function stops */
int geti(char *b, int *pos, int maxpos)
{
int res = 0;
 
// skip first chars
while (!isdigit(b[*pos])) {
(*pos)++;
if (*pos == maxpos) return -1; // Error!!!
}
 
 
// read the numbers
do {
res = (res * 10) + b[*pos] - '0';
(*pos)++;
} while (isdigit(b[*pos]));
 
return res;
}
 
 
void parse_shape(void)
{
int curr_filepos = 0;
int i = 0;
 
// read the number of tasks into the data file
max_shape = geti(myfilebuf, &curr_filepos, myfilebuf_length);
if (max_shape == -1) {
cprintf("Error parsing shape.dat file...\n");
sys_end();
}
 
for (i=0; i<max_shape; i++) {
// read the seven datas
shape_T[i] = geti(myfilebuf, &curr_filepos, myfilebuf_length);
shape_B[i] = geti(myfilebuf, &curr_filepos, myfilebuf_length);
 
// check the last one for an error
if (shape_B[i] == -1) {
cprintf("Error parsing shape %d...\n",i);
sys_end();
}
}
}
 
void read_shapes(void)
{
char name[]="shape.dat";
 
/* DOS file descriptor */
DOS_FILE *f;
 
/* Error code */
int err;
 
/* open the DOS file for reading (you can specify only "r" or "w") */
f = DOS_fopen(name,"r");
 
/* check for open errors */
if (!f) {
/* error!! */
err = DOS_error();
 
/* note that if you call DOS_error() here, it return 0!!! */
cprintf("Error %d opening %s...\n", err, name);
myfilebuf_length = 0;
return;
}
 
/* read up to 1000 chars */
myfilebuf_length = DOS_fread(&myfilebuf,1,FILEBUF_DIM,f);
 
/* check for errors */
err = DOS_error();
 
cprintf("Read %d bytes from %s...\n", myfilebuf_length, name);
 
if (err) {
cprintf("Error %d reading %s...\n", err, name);
myfilebuf_length = 0;
/* there is not return because I want to close the file! */
}
 
/* Close the file */
DOS_fclose(f);
}
 
 
/* This function write myfile.out (up to 30 chars) */
void write_hpattern(void *arg)
{
DOS_FILE *f; /* DOS file descriptor */
int err=0; /* Error code */
int writtenbytes = 0; /* number of files written */
char buf[100];
int i;
 
/* open the DOS file for writing (you can specify only "r" or "w") */
f = DOS_fopen("hpattern.dat","w");
 
/* check for open errors */
if (!f) {
/* error!! */
err = DOS_error();
 
/* note that if you call DOS_error() here, it return 0!!! */
cprintf("Error %d opening hpattern.dat...\n", err);
return;
}
 
sprintf(buf,"%d\r\n",max_pattern);
writtenbytes += DOS_fwrite(buf,1,strlen(buf),f);
 
for (i=0; i<max_pattern; i++) {
sprintf(buf,"%ld %ld %ld %ld\r\n", pattern_t[i], pattern_period[i],
pattern_wcet[i], pattern_iter[i]);
 
writtenbytes += DOS_fwrite(buf,1,strlen(buf),f);
 
/* check for errors */
err = DOS_error();
if (err) break;
}
 
 
cprintf("Written %d bytes into hpattern.dat...\n", writtenbytes);
 
if (err) {
cprintf("Error %d writing hpattern.dat...\n", err);
/* there is not return because I want to close the file! */
}
 
/* Close the file */
DOS_fclose(f);
}
 
 
 
 
 
 
 
 
 
/*+ sysyem tick in us +*/
#define TICK 0
 
/*+ RR tick in us +*/
#define RRTICK 10000
 
void read_myfile(void);
 
TIME __kernel_register_levels__(void *arg)
{
struct multiboot_info *mb = (struct multiboot_info *)arg;
 
EDF_register_level(EDF_ENABLE_ALL);
RR_register_level(RRTICK, RR_MAIN_NO, mb);
RR_register_level(RRTICK, RR_MAIN_YES, mb);
dummy_register_level();
 
SEM_register_module();
 
read_shapes();
 
return TICK;
}
 
 
NRT_TASK_MODEL keyb_model;
 
TASK __init__(void *arg)
{
NRT_TASK_MODEL nrt;
 
KEYB_PARMS kparms = BASE_KEYB;
 
HARTPORT_init();
 
nrt_task_default_model(keyb_model);
nrt_task_def_system(keyb_model);
nrt_task_def_nokill(keyb_model);
keyb_def_task(kparms,(TASK_MODEL *)&keyb_model);
KEYB_init(&kparms);
 
set_exchandler_grx();
 
nrt_task_default_model(nrt);
 
srand(sys_gettime(NULL));
 
clear();
 
sys_atrunlevel(write_hpattern, NULL, RUNLEVEL_AFTER_EXIT);
 
parse_shape();
 
start_shape();
 
task_activate(task_create("create_load",create_load,&nrt,NULL));
 
cputs("\nWaiting the end of the periodic tasks...\n");
while (task_counter != 1);
 
// the task create_load preempt __init__ until all is finished!
tune_pattern();
 
return (void *)0;
}
 
// never called!!!
int main()
{
return 0;
}
/unsupported/trunk/crunch/load/baby.bat
0,0 → 1,6
echo %1 > length.dat
make
make runstep1b
x step2b
x step3
make runstep4
/unsupported/trunk/crunch/load/120_1/shape.dat
0,0 → 1,9
8
0 3350074416
18 3178275728
23 0
48 3049426712
57 1202590816
73 1932735240
101 987842456
120 0
/unsupported/trunk/crunch/load/120_1/length.dat
0,0 → 1,0
120
/unsupported/trunk/crunch/load/120_1/crunch.dat
0,0 → 1,1004
1003
1000000 1 3600000 792000 837402 80 90
1000000 1 180000 39600 41185 5 10
1000000 1 948002 482431 509820 73 73
1000000 1 1005002 667004 705086 61 21
1000081 0 43000 24668 25390 0 0
1000252 0 90000 9846 9692 0 0
1000415 0 88000 4730 4290 0 0
1000578 0 69000 1978 1378 0 0
1180000 1 180000 39600 41182 5 10
1360000 1 180000 39600 41182 5 10
1540000 1 180000 39600 41182 5 10
1720000 1 180000 39600 41182 5 10
1900000 1 180000 39600 41182 5 10
2080000 1 180000 39600 41182 5 10
2105002 1 424002 113189 119082 85 64
2260000 1 180000 39600 41183 5 10
2440000 1 180000 39600 41183 5 10
2620000 1 180000 39600 41183 5 10
2629004 1 2690002 1271063 1344382 17 41
2800000 1 180000 39600 41195 5 10
2980000 1 180000 39600 41195 5 10
3160000 1 180000 39600 41195 5 10
3340000 1 180000 39600 41195 5 10
3520000 1 180000 39600 41195 5 10
3700000 1 180000 39600 41195 5 10
3880000 1 180000 39600 41195 5 10
4060000 1 180000 39600 41195 5 10
4240000 1 180000 39600 41195 5 10
4420000 1 180000 39600 41195 5 10
4483146 0 56000 30821 31902 0 0
4483299 0 95000 2375 1799 0 0
4600000 1 3600000 792000 837447 80 90
4600000 1 180000 39600 41180 5 10
4780000 1 180000 39600 41180 5 10
4960000 1 180000 39600 41180 5 10
5140000 1 180000 39600 41180 5 10
5320000 1 180000 39600 41180 5 10
5419006 1 2084002 157190 165589 94 29
5500000 1 180000 39600 41181 5 10
5680000 1 180000 39600 41181 5 10
5860000 1 180000 39600 41181 5 10
6040000 1 180000 39600 41181 5 10
6220000 1 180000 39600 41181 5 10
6400000 1 180000 39600 41181 5 10
6580000 1 180000 39600 41181 5 10
6589722 0 73000 2440 1867 0 0
6760000 1 180000 39600 41181 5 10
6940000 1 180000 39600 41181 5 10
7120000 1 180000 39600 41181 5 10
7300000 1 180000 39600 41181 5 10
7480000 1 180000 39600 41181 5 10
7603008 1 2663002 2506134 2651322 24 42
7660000 1 180000 39600 41183 5 10
7840000 1 180000 39600 41183 5 10
8020000 1 180000 39600 41183 5 10
8128465 0 79000 3360 2840 0 0
8200000 1 3600000 792000 837400 80 90
8200000 1 180000 39600 41177 5 10
8290324 0 99000 5582 5190 0 0
8290508 0 95000 3268 2742 0 0
8290649 0 82000 2050 1455 0 0
8380000 1 180000 39600 41177 5 10
8560000 1 180000 39600 41177 5 10
8740000 1 180000 39600 41177 5 10
8920000 1 180000 39600 41177 5 10
9019208 0 44000 17226 17509 0 0
9019362 0 67000 11010 10934 0 0
9100000 1 180000 39600 41177 5 10
9280000 1 180000 39600 41177 5 10
9460000 1 180000 39600 41177 5 10
9640000 1 180000 39600 41177 5 10
9820000 1 180000 39600 41177 5 10
10000000 1 180000 39600 41177 5 10
10180000 1 180000 39600 41177 5 10
10360000 1 180000 39600 41177 5 10
10366010 1 1902002 1718177 1817503 36 33
10540000 1 180000 39600 41182 5 10
10720000 1 180000 39600 41182 5 10
10900000 1 180000 39600 41182 5 10
11080000 1 180000 39600 41182 5 10
11260000 1 180000 39600 41182 5 10
11440000 1 180000 39600 41182 5 10
11620000 1 180000 39600 41182 5 10
11800000 1 3600000 792000 837396 80 90
11800000 1 180000 39600 41183 5 10
11980000 1 180000 39600 41183 5 10
12160000 1 180000 39600 41183 5 10
12178420 0 71000 1962 1361 0 0
12340000 1 180000 39600 41183 5 10
12368012 1 2920002 1675238 1772061 10 5
12368012 1 2569002 2400619 2539657 51 88
12502801 0 71000 1775 1163 0 0
12520000 1 180000 39600 41183 5 10
12583376 0 87000 22852 23462 0 0
12583532 0 85000 7178 6879 0 0
12583737 0 86000 2150 1560 0 0
12583941 0 67000 2090 1497 0 0
12700000 1 180000 39600 41183 5 10
12880000 1 180000 39600 41183 5 10
13060000 1 180000 39600 41183 5 10
13240000 1 180000 39600 41183 5 10
13420000 1 180000 39600 41183 5 10
13600000 1 180000 39600 41183 5 10
13780000 1 180000 39600 41183 5 10
13960000 1 180000 39600 41183 5 10
14140000 1 180000 39600 41183 5 10
14320000 1 180000 39600 41183 5 10
14446422 0 71000 10026 9895 0 0
14500000 1 180000 39600 41183 5 10
14527606 0 68000 4236 3766 0 0
14680000 1 180000 39600 41183 5 10
14860000 1 180000 39600 41183 5 10
14932727 0 88000 2200 1614 0 0
15037014 1 480002 45079 46999 43 49
15037014 1 857002 734926 776975 26 80
15040000 1 180000 39600 41198 5 10
15220000 1 180000 39600 41198 5 10
15400000 1 3600000 792000 837401 80 90
15400000 1 180000 39600 41197 5 10
15580000 1 180000 39600 41197 5 10
15760000 1 180000 39600 41197 5 10
15940000 1 180000 39600 41197 5 10
15985597 0 88000 2200 1613 0 0
15994016 1 1629002 830859 878529 98 10
15994016 1 2582002 350306 370027 27 13
15994016 1 2190002 13750 13833 59 86
16120000 1 180000 39600 41182 5 10
16300000 1 180000 39600 41182 5 10
16309389 0 78000 3885 3396 0 0
16480000 1 180000 39600 41182 5 10
16660000 1 180000 39600 41182 5 10
16840000 1 180000 39600 41182 5 10
17020000 1 180000 39600 41182 5 10
17200000 1 180000 39600 41182 5 10
17380000 1 180000 39600 41182 5 10
17560000 1 180000 39600 41182 5 10
17740000 1 180000 39600 41182 5 10
17920000 1 180000 39600 41182 5 10
17929489 0 72000 2886 2338 0 0
18011034 0 76000 1900 1296 0 0
18100000 1 180000 39600 41182 5 10
18253873 0 83000 2075 1481 0 0
18280000 1 180000 39600 41182 5 10
18284018 1 1352002 323167 341261 72 41
18460000 1 180000 39600 41192 5 10
18640000 1 180000 39600 41192 5 10
18820000 1 180000 39600 41192 5 10
19000000 1 1000000 260000 274465 80 90
19000000 1 50000 13000 13044 5 10
19050000 1 50000 13000 13044 5 10
19100000 1 50000 13000 13044 5 10
19150000 1 50000 13000 13044 5 10
19200000 1 50000 13000 13044 5 10
19250000 1 50000 13000 13044 5 10
19300000 1 50000 13000 13044 5 10
19350000 1 50000 13000 13044 5 10
19400000 1 50000 13000 13044 5 10
19450000 1 50000 13000 13044 5 10
19468581 0 100000 2531 1962 0 0
19468751 0 100000 2500 1931 0 0
19500000 1 50000 13000 13044 5 10
19549816 0 76000 1900 1296 0 0
19550000 1 50000 13000 13044 5 10
19600000 1 50000 13000 13044 5 10
19630450 0 90000 4680 4237 0 0
19630616 0 87000 10826 10738 0 0
19630857 0 72000 5658 5272 0 0
19650000 1 50000 13000 13044 5 10
19700000 1 50000 13000 13044 5 10
19736020 1 1031002 556354 588001 46 94
19750000 1 50000 13000 13040 5 10
19800000 1 50000 13000 13040 5 10
19850000 1 50000 13000 13040 5 10
19900000 1 50000 13000 13040 5 10
19950000 1 50000 13000 13040 5 10
20000000 1 1000000 260000 274439 80 90
20000000 1 50000 13000 13045 5 10
20035654 0 76000 4440 3983 0 0
20050000 1 50000 13000 13045 5 10
20100000 1 50000 13000 13045 5 10
20150000 1 50000 13000 13045 5 10
20197501 0 91000 4920 4490 0 0
20197668 0 100000 4608 4159 0 0
20197835 0 69000 3810 3316 0 0
20200000 1 50000 13000 13045 5 10
20250000 1 50000 13000 13045 5 10
20300000 1 50000 13000 13045 5 10
20350000 1 50000 13000 13045 5 10
20400000 1 50000 13000 13045 5 10
20450000 1 50000 13000 13045 5 10
20500000 1 50000 13000 13045 5 10
20550000 1 50000 13000 13045 5 10
20600000 1 50000 13000 13045 5 10
20650000 1 50000 13000 13045 5 10
20700000 1 50000 13000 13045 5 10
20750000 1 50000 13000 13045 5 10
20800000 1 50000 13000 13045 5 10
20850000 1 50000 13000 13045 5 10
20867022 1 2040002 1743982 1844825 6 60
20900000 1 50000 13000 13040 5 10
20950000 1 50000 13000 13040 5 10
21000000 1 1000000 260000 274448 80 90
21000000 1 50000 13000 13039 5 10
21050000 1 50000 13000 13039 5 10
21100000 1 50000 13000 13039 5 10
21150000 1 50000 13000 13039 5 10
21200000 1 50000 13000 13039 5 10
21250000 1 50000 13000 13039 5 10
21300000 1 50000 13000 13039 5 10
21350000 1 50000 13000 13039 5 10
21400000 1 50000 13000 13039 5 10
21450000 1 50000 13000 13039 5 10
21500000 1 50000 13000 13039 5 10
21550000 1 50000 13000 13039 5 10
21600000 1 50000 13000 13039 5 10
21650000 1 50000 13000 13039 5 10
21700000 1 50000 13000 13039 5 10
21750000 1 50000 13000 13039 5 10
21800000 1 50000 13000 13039 5 10
21850000 1 50000 13000 13039 5 10
21900000 1 50000 13000 13039 5 10
21950000 1 50000 13000 13039 5 10
22000000 1 1000000 260000 274457 80 90
22000000 1 50000 13000 13040 5 10
22050000 1 50000 13000 13040 5 10
22060859 0 80000 2000 1401 0 0
22100000 1 50000 13000 13040 5 10
22150000 1 50000 13000 13040 5 10
22200000 1 50000 13000 13040 5 10
22250000 1 50000 13000 13040 5 10
22300000 1 50000 13000 13040 5 10
22350000 1 50000 13000 13040 5 10
22400000 1 50000 13000 13040 5 10
22450000 1 50000 13000 13040 5 10
22500000 1 50000 13000 13040 5 10
22550000 1 50000 13000 13040 5 10
22600000 1 50000 13000 13040 5 10
22627458 0 89000 2693 2135 0 0
22627625 0 61000 1525 899 0 0
22650000 1 50000 13000 13040 5 10
22700000 1 50000 13000 13040 5 10
22750000 1 50000 13000 13040 5 10
22800000 1 50000 13000 13040 5 10
22850000 1 50000 13000 13040 5 10
22900000 1 50000 13000 13040 5 10
22950000 1 50000 13000 13040 5 10
23000000 1 1000000 260000 274422 80 90
23000000 1 50000 13000 13044 5 10
23007024 1 1133002 142298 149839 9 7
23007024 1 2695002 1986655 2101611 80 90
23050000 1 50000 13000 13039 5 10
23100000 1 50000 13000 13039 5 10
23113818 0 92000 2300 1719 0 0
23150000 1 50000 13000 13039 5 10
23200000 1 50000 13000 13039 5 10
23250000 1 50000 13000 13039 5 10
23300000 1 50000 13000 13039 5 10
23350000 1 50000 13000 13039 5 10
23400000 1 50000 13000 13039 5 10
23450000 1 50000 13000 13039 5 10
23500000 1 50000 13000 13039 5 10
23550000 1 50000 13000 13039 5 10
23600000 1 50000 13000 13039 5 10
23650000 1 50000 13000 13039 5 10
23700000 1 50000 13000 13039 5 10
23750000 1 50000 13000 13039 5 10
23761532 0 67000 1675 1058 0 0
23800000 1 50000 13000 13039 5 10
23850000 1 50000 13000 13039 5 10
23900000 1 50000 13000 13039 5 10
23950000 1 50000 13000 13039 5 10
24000000 1 5000000 5000000 5290375 80 90
24000000 1 250000 250000 263870 5 10
24250000 1 250000 250000 263870 5 10
24500000 1 250000 250000 263870 5 10
24750000 1 250000 250000 263870 5 10
25000000 1 250000 250000 263870 5 10
25250000 1 250000 250000 263870 5 10
25500000 1 250000 250000 263870 5 10
25750000 1 250000 250000 263870 5 10
25802026 1 924002 184480 194489 12 93
25802026 1 2922002 1647630 1742829 22 27
25802026 1 700002 388710 410581 55 10
25802026 1 1494002 1108734 1172599 89 98
26000000 1 250000 250000 263860 5 10
26250000 1 250000 250000 263860 5 10
26500000 1 250000 250000 263860 5 10
26750000 1 250000 250000 263860 5 10
27000000 1 250000 250000 263860 5 10
27250000 1 250000 250000 263860 5 10
27396028 1 1904002 741039 783489 68 19
27500000 1 250000 250000 263833 5 10
27750000 1 250000 250000 263833 5 10
28000000 1 250000 250000 263833 5 10
28250000 1 250000 250000 263833 5 10
28500000 1 250000 250000 263833 5 10
28750000 1 250000 250000 263833 5 10
29000000 1 5000000 5000000 5290414 80 90
29000000 1 250000 250000 263787 5 10
29250000 1 250000 250000 263787 5 10
29400030 1 2202002 1966810 2080616 55 79
29500000 1 250000 250000 263787 5 10
29750000 1 250000 250000 263787 5 10
30000000 1 250000 250000 263787 5 10
30250000 1 250000 250000 263787 5 10
30500000 1 250000 250000 263787 5 10
30750000 1 250000 250000 263787 5 10
31000000 1 250000 250000 263787 5 10
31250000 1 250000 250000 263787 5 10
31500000 1 250000 250000 263787 5 10
31702032 1 2763002 1822616 1928016 17 40
31750000 1 250000 250000 263835 5 10
32000000 1 250000 250000 263835 5 10
32250000 1 250000 250000 263835 5 10
32500000 1 250000 250000 263835 5 10
32750000 1 250000 250000 263835 5 10
33000000 1 250000 250000 263835 5 10
33250000 1 250000 250000 263835 5 10
33500000 1 250000 250000 263835 5 10
33750000 1 250000 250000 263835 5 10
34000000 1 5000000 5000000 5290416 80 90
34000000 1 250000 250000 263865 5 10
34250000 1 250000 250000 263865 5 10
34500000 1 250000 250000 263865 5 10
34565034 1 102002 48188 50269 33 46
34565034 1 2031002 1109806 1173704 98 60
34750000 1 250000 250000 263874 5 10
35000000 1 250000 250000 263874 5 10
35250000 1 250000 250000 263874 5 10
35500000 1 250000 250000 263874 5 10
35750000 1 250000 250000 263874 5 10
36000000 1 250000 250000 263874 5 10
36250000 1 250000 250000 263874 5 10
36500000 1 250000 250000 263874 5 10
36696036 1 1613002 1175317 1243026 55 42
36750000 1 250000 250000 263874 5 10
37000000 1 250000 250000 263874 5 10
37250000 1 250000 250000 263874 5 10
37500000 1 250000 250000 263874 5 10
37750000 1 250000 250000 263874 5 10
38000000 1 250000 250000 263874 5 10
38250000 1 250000 250000 263874 5 10
38409038 1 44002 19554 19973 88 66
38500000 1 250000 250000 263860 5 10
38553040 1 2042002 1261616 1334391 55 56
38750000 1 250000 250000 263839 5 10
39000000 1 5000000 5000000 5290365 80 90
39000000 1 250000 250000 263794 5 10
39250000 1 250000 250000 263794 5 10
39500000 1 250000 250000 263794 5 10
39750000 1 250000 250000 263794 5 10
40000000 1 250000 250000 263794 5 10
40250000 1 250000 250000 263794 5 10
40500000 1 250000 250000 263794 5 10
40695042 1 2321002 1709360 1808167 96 26
40750000 1 250000 250000 263884 5 10
41000000 1 250000 250000 263884 5 10
41250000 1 250000 250000 263884 5 10
41500000 1 250000 250000 263884 5 10
41750000 1 250000 250000 263884 5 10
42000000 1 250000 250000 263884 5 10
42250000 1 250000 250000 263884 5 10
42500000 1 250000 250000 263884 5 10
42750000 1 250000 250000 263884 5 10
43000000 1 250000 250000 263884 5 10
43116044 1 1508002 328958 347400 100 7
43116044 1 2053002 165947 174853 53 58
43250000 1 250000 250000 263790 5 10
43500000 1 250000 250000 263790 5 10
43750000 1 250000 250000 263790 5 10
44000000 1 5000000 5000000 5290418 80 90
44000000 1 250000 250000 263808 5 10
44250000 1 250000 250000 263808 5 10
44500000 1 250000 250000 263808 5 10
44750000 1 250000 250000 263808 5 10
45000000 1 250000 250000 263808 5 10
45250000 1 250000 250000 263808 5 10
45269046 1 217002 173624 182999 26 19
45500000 1 250000 250000 263833 5 10
45586048 1 2506002 1214577 1284576 30 21
45586048 1 279002 62021 64904 88 1
45750000 1 250000 250000 263891 5 10
45965050 1 587002 531557 561798 13 24
45965050 1 1808002 930618 984045 34 28
46000000 1 250000 250000 263790 5 10
46250000 1 250000 250000 263790 5 10
46500000 1 250000 250000 263790 5 10
46750000 1 250000 250000 263790 5 10
47000000 1 250000 250000 263790 5 10
47250000 1 250000 250000 263790 5 10
47500000 1 250000 250000 263790 5 10
47750000 1 250000 250000 263790 5 10
47873052 1 1739002 311765 329190 82 63
48000000 1 250000 250000 263808 5 10
48250000 1 250000 250000 263808 5 10
48500000 1 250000 250000 263808 5 10
48750000 1 250000 250000 263808 5 10
49000000 1 1800000 522000 551654 80 90
49000000 1 90000 26100 26907 5 10
49000040 0 96000 49280 51422 0 0
49000208 0 75000 14750 14896 0 0
49090000 1 90000 26100 26907 5 10
49180000 1 90000 26100 26907 5 10
49270000 1 90000 26100 26907 5 10
49360000 1 90000 26100 26907 5 10
49450000 1 90000 26100 26907 5 10
49540000 1 90000 26100 26907 5 10
49630000 1 90000 26100 26907 5 10
49712054 1 1826002 1038627 1098393 4 17
49712054 1 6002 3398 2881 58 90
49712054 1 2705002 86154 90468 13 43
49720000 1 90000 26100 26899 5 10
49810000 1 90000 26100 26899 5 10
49900000 1 90000 26100 26899 5 10
49990000 1 90000 26100 26899 5 10
50080000 1 90000 26100 26899 5 10
50170000 1 90000 26100 26899 5 10
50260000 1 90000 26100 26899 5 10
50350000 1 90000 26100 26899 5 10
50440000 1 90000 26100 26899 5 10
50530000 1 90000 26100 26899 5 10
50620000 1 90000 26100 26899 5 10
50710000 1 90000 26100 26899 5 10
50800000 1 1800000 522000 551668 80 90
50800000 1 90000 26100 26907 5 10
50890000 1 90000 26100 26907 5 10
50980000 1 90000 26100 26907 5 10
51070000 1 90000 26100 26907 5 10
51160000 1 90000 26100 26907 5 10
51250000 1 90000 26100 26907 5 10
51340000 1 90000 26100 26907 5 10
51430000 1 90000 26100 26907 5 10
51520000 1 90000 26100 26907 5 10
51610000 1 90000 26100 26907 5 10
51700000 1 90000 26100 26907 5 10
51790000 1 90000 26100 26907 5 10
51880000 1 90000 26100 26907 5 10
51970000 1 90000 26100 26907 5 10
52060000 1 90000 26100 26907 5 10
52150000 1 90000 26100 26907 5 10
52240000 1 90000 26100 26907 5 10
52330000 1 90000 26100 26907 5 10
52420000 1 90000 26100 26907 5 10
52510000 1 90000 26100 26907 5 10
52517056 1 1748002 1410488 1491893 20 18
52600000 1 1800000 522000 551647 80 90
52600000 1 90000 26100 26901 5 10
52690000 1 90000 26100 26901 5 10
52780000 1 90000 26100 26901 5 10
52870000 1 90000 26100 26901 5 10
52960000 1 90000 26100 26901 5 10
53050000 1 90000 26100 26901 5 10
53140000 1 90000 26100 26901 5 10
53230000 1 90000 26100 26901 5 10
53320000 1 90000 26100 26901 5 10
53410000 1 90000 26100 26901 5 10
53500000 1 90000 26100 26901 5 10
53590000 1 90000 26100 26901 5 10
53680000 1 90000 26100 26901 5 10
53770000 1 90000 26100 26901 5 10
53860000 1 90000 26100 26901 5 10
53950000 1 90000 26100 26901 5 10
54040000 1 90000 26100 26901 5 10
54130000 1 90000 26100 26901 5 10
54220000 1 90000 26100 26901 5 10
54310000 1 90000 26100 26901 5 10
54365058 1 150002 103582 108873 65 28
54365058 1 2224002 360929 381223 65 26
54400000 1 1800000 522000 551690 80 90
54400000 1 90000 26100 26898 5 10
54490000 1 90000 26100 26898 5 10
54580000 1 90000 26100 26898 5 10
54670000 1 90000 26100 26898 5 10
54760000 1 90000 26100 26898 5 10
54850000 1 90000 26100 26898 5 10
54940000 1 90000 26100 26898 5 10
55030000 1 90000 26100 26898 5 10
55075318 0 99000 8532 8312 0 0
55075483 0 70000 6779 6459 0 0
55120000 1 90000 26100 26898 5 10
55210000 1 90000 26100 26898 5 10
55300000 1 90000 26100 26898 5 10
55390000 1 90000 26100 26898 5 10
55480000 1 90000 26100 26898 5 10
55570000 1 90000 26100 26898 5 10
55660000 1 90000 26100 26898 5 10
55750000 1 90000 26100 26898 5 10
55840000 1 90000 26100 26898 5 10
55930000 1 90000 26100 26898 5 10
56020000 1 90000 26100 26898 5 10
56110000 1 90000 26100 26898 5 10
56200000 1 1800000 522000 551656 80 90
56200000 1 90000 26100 26909 5 10
56290000 1 90000 26100 26909 5 10
56380000 1 90000 26100 26909 5 10
56470000 1 90000 26100 26909 5 10
56560000 1 90000 26100 26909 5 10
56650000 1 90000 26100 26909 5 10
56689060 1 1158002 1083915 1146315 18 71
56740000 1 90000 26100 26899 5 10
56776117 0 99000 39534 41127 0 0
56776287 0 47000 4216 3745 0 0
56776453 0 90000 2250 1666 0 0
56830000 1 90000 26100 26899 5 10
56920000 1 90000 26100 26899 5 10
57010000 1 90000 26100 26899 5 10
57100000 1 90000 26100 26899 5 10
57190000 1 90000 26100 26899 5 10
57280000 1 90000 26100 26899 5 10
57370000 1 90000 26100 26899 5 10
57460000 1 90000 26100 26899 5 10
57550000 1 90000 26100 26899 5 10
57640000 1 90000 26100 26899 5 10
57730000 1 90000 26100 26899 5 10
57820000 1 90000 26100 26899 5 10
57910000 1 90000 26100 26899 5 10
57947062 1 856002 462631 488882 51 81
58000000 1 3200000 2304000 2437427 80 90
58000000 1 160000 115200 121166 5 10
58160000 1 160000 115200 121166 5 10
58320000 1 160000 115200 121166 5 10
58480000 1 160000 115200 121166 5 10
58640000 1 160000 115200 121166 5 10
58800000 1 160000 115200 121166 5 10
58903064 1 855002 663196 701079 32 81
58960000 1 160000 115200 121203 5 10
59120000 1 160000 115200 121203 5 10
59280000 1 160000 115200 121203 5 10
59440000 1 160000 115200 121203 5 10
59600000 1 160000 115200 121203 5 10
59760000 1 160000 115200 121203 5 10
59858066 1 2848002 1930317 2041981 61 33
59858066 1 2867002 1697032 1795106 63 60
59858066 1 1168002 437978 462780 2 35
59858066 1 2067002 1079046 1141152 22 7
59858066 1 1476002 1039252 1099044 42 35
59920000 1 160000 115200 121161 5 10
60080000 1 160000 115200 121161 5 10
60240000 1 160000 115200 121161 5 10
60400000 1 160000 115200 121161 5 10
60560000 1 160000 115200 121161 5 10
60720000 1 160000 115200 121161 5 10
60880000 1 160000 115200 121161 5 10
61040000 1 160000 115200 121161 5 10
61200000 1 3200000 2304000 2437449 80 90
61200000 1 160000 115200 121164 5 10
61360000 1 160000 115200 121164 5 10
61434068 1 1096002 936145 989908 94 93
61434068 1 32002 30918 31996 1 31
61520000 1 160000 115200 121172 5 10
61566070 1 1328002 840830 889053 94 57
61566070 1 558002 381573 403050 50 49
61566070 1 2257002 872000 922068 76 61
61566070 1 826002 477837 504938 78 87
61680000 1 160000 115200 121206 5 10
61840000 1 160000 115200 121206 5 10
62000000 1 160000 115200 121206 5 10
62160000 1 160000 115200 121206 5 10
62320000 1 160000 115200 121206 5 10
62480000 1 160000 115200 121206 5 10
62492072 1 2468002 2087746 2208592 42 17
62640000 1 160000 115200 121176 5 10
62800000 1 160000 115200 121176 5 10
62960000 1 160000 115200 121176 5 10
63120000 1 160000 115200 121176 5 10
63280000 1 160000 115200 121176 5 10
63440000 1 160000 115200 121176 5 10
63600000 1 160000 115200 121176 5 10
63760000 1 160000 115200 121176 5 10
63920000 1 160000 115200 121176 5 10
64080000 1 160000 115200 121176 5 10
64240000 1 160000 115200 121176 5 10
64400000 1 3200000 2304000 2437408 80 90
64400000 1 160000 115200 121174 5 10
64560000 1 160000 115200 121174 5 10
64720000 1 160000 115200 121174 5 10
64795164 0 99000 12147 12140 0 0
64795332 0 82000 8262 8025 0 0
64795497 0 82000 2961 2418 0 0
64880000 1 160000 115200 121174 5 10
65040000 1 160000 115200 121174 5 10
65060074 1 1997002 747316 790126 21 70
65200000 1 160000 115200 121174 5 10
65360000 1 160000 115200 121174 5 10
65520000 1 160000 115200 121174 5 10
65680000 1 160000 115200 121174 5 10
65840000 1 160000 115200 121174 5 10
66000000 1 160000 115200 121174 5 10
66160000 1 160000 115200 121174 5 10
66320000 1 160000 115200 121174 5 10
66480000 1 160000 115200 121174 5 10
66640000 1 160000 115200 121174 5 10
66800000 1 160000 115200 121174 5 10
66960000 1 160000 115200 121174 5 10
67120000 1 160000 115200 121174 5 10
67157076 1 1549002 658208 695808 7 71
67280000 1 160000 115200 121204 5 10
67440000 1 160000 115200 121204 5 10
67600000 1 3200000 2304000 2437443 80 90
67600000 1 160000 115200 121169 5 10
67760000 1 160000 115200 121169 5 10
67920000 1 160000 115200 121169 5 10
68080000 1 160000 115200 121169 5 10
68240000 1 160000 115200 121169 5 10
68400000 1 160000 115200 121169 5 10
68560000 1 160000 115200 121169 5 10
68720000 1 160000 115200 121169 5 10
68806078 1 348002 307802 325017 24 26
68806078 1 987002 116089 122151 29 49
68880000 1 160000 115200 121203 5 10
69040000 1 160000 115200 121203 5 10
69200000 1 160000 115200 121203 5 10
69360000 1 160000 115200 121203 5 10
69520000 1 160000 115200 121203 5 10
69680000 1 160000 115200 121203 5 10
69840000 1 160000 115200 121203 5 10
69893080 1 1128002 266659 281501 37 88
69893080 1 2255002 1966070 2079803 25 77
69893080 1 2531002 2112468 2234698 1 56
70000000 1 160000 115200 121206 5 10
70160000 1 160000 115200 121206 5 10
70320000 1 160000 115200 121206 5 10
70480000 1 160000 115200 121206 5 10
70640000 1 160000 115200 121206 5 10
70800000 1 3200000 2304000 2437423 80 90
70800000 1 160000 115200 121214 5 10
70960000 1 160000 115200 121214 5 10
71120000 1 160000 115200 121214 5 10
71280000 1 160000 115200 121214 5 10
71437416 0 68000 5175 4760 0 0
71437573 0 66000 5284 4876 0 0
71440000 1 160000 115200 121214 5 10
71600000 1 160000 115200 121214 5 10
71760000 1 160000 115200 121214 5 10
71920000 1 160000 115200 121214 5 10
72080000 1 160000 115200 121214 5 10
72240000 1 160000 115200 121214 5 10
72400000 1 160000 115200 121214 5 10
72524082 1 74002 28416 29351 75 57
72524082 1 1369002 944728 999039 95 55
72524082 1 2658002 564240 596380 65 1
72524082 1 2880002 344142 363445 23 79
72524082 1 1667002 485209 512765 8 23
72524082 1 1833002 835588 883515 48 19
72560000 1 160000 115200 121166 5 10
72720000 1 160000 115200 121166 5 10
72814272 0 99000 5372 4968 0 0
72814559 0 90000 3320 2798 0 0
72814724 0 85000 2125 1534 0 0
72880000 1 160000 115200 121166 5 10
73040000 1 160000 115200 121166 5 10
73200000 1 160000 115200 121166 5 10
73360000 1 160000 115200 121166 5 10
73520000 1 160000 115200 121166 5 10
73680000 1 160000 115200 121166 5 10
73840000 1 160000 115200 121166 5 10
74000000 1 5600000 3080000 3258634 80 90
74000000 1 280000 154000 162257 5 10
74000039 0 78000 6968 6659 0 0
74000182 0 71000 5344 4941 0 0
74280000 1 280000 154000 162257 5 10
74457084 1 790002 786572 831626 45 80
74560000 1 280000 154000 162219 5 10
74840000 1 280000 154000 162219 5 10
75120000 1 280000 154000 162219 5 10
75347086 1 41002 30969 32062 43 90
75347086 1 336002 63459 66448 34 22
75400000 1 280000 154000 162216 5 10
75680000 1 280000 154000 162216 5 10
75783088 1 1291002 1008318 1066323 31 64
75783088 1 2106002 1883656 1992568 43 77
75783088 1 1976002 1845195 1951881 84 39
75783088 1 2721002 1377766 1457252 78 89
75783088 1 281002 202534 213573 69 46
75960000 1 280000 154000 162225 5 10
76164090 1 1742002 1186725 1255082 94 22
76240000 1 280000 154000 162220 5 10
76520000 1 280000 154000 162220 5 10
76783641 0 82000 4878 4447 0 0
76783809 0 88000 2200 1613 0 0
76800000 1 280000 154000 162220 5 10
76945487 0 73000 4987 4561 0 0
77080000 1 280000 154000 162220 5 10
77360000 1 280000 154000 162220 5 10
77640000 1 280000 154000 162220 5 10
77920000 1 280000 154000 162220 5 10
78006092 1 506002 369708 390537 96 47
78200000 1 280000 154000 162210 5 10
78480000 1 280000 154000 162210 5 10
78612094 1 1664002 1052871 1113424 69 16
78760000 1 280000 154000 162272 5 10
79040000 1 280000 154000 162272 5 10
79320000 1 280000 154000 162272 5 10
79600000 1 5600000 3080000 3258608 80 90
79600000 1 280000 154000 162274 5 10
79699818 0 60000 1500 872 0 0
79751258 0 66000 1650 1031 0 0
79751418 0 70000 4093 3615 0 0
79880000 1 280000 154000 162274 5 10
80104634 0 73000 2655 2094 0 0
80160000 1 280000 154000 162274 5 10
80318239 0 70000 6018 5654 0 0
80376096 1 2455002 239185 252431 18 83
80376096 1 2060002 1651940 1747402 83 73
80440000 1 280000 154000 162262 5 10
80720000 1 280000 154000 162262 5 10
80833353 0 78000 4576 4127 0 0
81000000 1 280000 154000 162262 5 10
81280000 1 280000 154000 162262 5 10
81560000 1 280000 154000 162262 5 10
81840000 1 280000 154000 162262 5 10
82120000 1 280000 154000 162262 5 10
82400000 1 280000 154000 162262 5 10
82536098 1 1593002 899992 951670 49 86
82536098 1 2902002 1003444 1061128 19 69
82680000 1 280000 154000 162221 5 10
82858607 0 82000 3982 3499 0 0
82858755 0 75000 1875 1269 0 0
82960000 1 280000 154000 162221 5 10
83240000 1 280000 154000 162221 5 10
83425728 0 87000 3058 2520 0 0
83425935 0 68000 1700 1084 0 0
83520000 1 280000 154000 162221 5 10
83800000 1 280000 154000 162221 5 10
83912035 0 78000 1950 1349 0 0
84080000 1 280000 154000 162221 5 10
84360000 1 280000 154000 162221 5 10
84560013 0 74000 1850 1243 0 0
84640000 1 280000 154000 162221 5 10
84920000 1 280000 154000 162221 5 10
85097318 0 93000 2325 1746 0 0
85200000 1 5600000 3080000 3258645 80 90
85200000 1 280000 154000 162274 5 10
85421481 0 80000 3236 2709 0 0
85480000 1 280000 154000 162274 5 10
85538100 1 1686002 10299 10182 35 84
85538100 1 2046002 1842815 1949385 89 71
85760000 1 280000 154000 162218 5 10
85988355 0 98000 4637 4190 0 0
85988562 0 78000 3220 2692 0 0
86017733 0 98000 2450 1877 0 0
86017880 0 85000 2125 1534 0 0
86040000 1 280000 154000 162218 5 10
86320000 1 280000 154000 162218 5 10
86600000 1 280000 154000 162218 5 10
86880000 1 280000 154000 162218 5 10
87151424 0 75000 3564 3056 0 0
87160000 1 280000 154000 162218 5 10
87440000 1 280000 154000 162218 5 10
87684102 1 950002 46646 48639 1 93
87684102 1 1675002 693268 732923 54 19
87720000 1 280000 154000 162265 5 10
88000000 1 280000 154000 162265 5 10
88280000 1 280000 154000 162265 5 10
88560000 1 280000 154000 162265 5 10
88840000 1 280000 154000 162265 5 10
88933839 0 68000 2509 1940 0 0
88934080 0 89000 2225 1640 0 0
89120000 1 280000 154000 162265 5 10
89400000 1 280000 154000 162265 5 10
89459104 1 768002 168011 177085 51 84
89459104 1 2652002 1318274 1394333 41 33
89500800 0 84000 2627 2065 0 0
89680000 1 280000 154000 162216 5 10
89960000 1 280000 154000 162216 5 10
90230127 0 93000 2325 1745 0 0
90240000 1 280000 154000 162216 5 10
90472780 0 90000 2637 2074 0 0
90472975 0 86000 2150 1560 0 0
90520000 1 280000 154000 162216 5 10
90554060 0 76000 1900 1296 0 0
90800000 1 5600000 3080000 3258650 80 90
90800000 1 280000 154000 162225 5 10
91080000 1 280000 154000 162225 5 10
91360000 1 280000 154000 162225 5 10
91640000 1 280000 154000 162225 5 10
91901533 0 87000 2175 1586 0 0
91920000 1 280000 154000 162225 5 10
92200000 1 280000 154000 162225 5 10
92211106 1 145002 129480 136278 81 5
92306606 0 89000 2784 2231 0 0
92306959 0 73000 1825 1216 0 0
92456108 1 1380002 1124915 1189676 23 1
92480000 1 280000 154000 162289 5 10
92630418 0 84000 2100 1507 0 0
92760000 1 280000 154000 162289 5 10
92903116 0 69000 1725 1111 0 0
93040000 1 280000 154000 162289 5 10
93226690 0 94000 2790 2237 0 0
93320000 1 280000 154000 162289 5 10
93600000 1 280000 154000 162289 5 10
93880000 1 280000 154000 162289 5 10
93926444 0 73000 3916 3427 0 0
93936110 1 2777002 1595969 1688155 57 47
93955802 0 40000 1000 343 0 0
94160000 1 280000 154000 162225 5 10
94440000 1 280000 154000 162225 5 10
94441907 0 86000 2488 1918 0 0
94720000 1 280000 154000 162225 5 10
95000000 1 280000 154000 162225 5 10
95280000 1 280000 154000 162225 5 10
95560000 1 280000 154000 162225 5 10
95840000 1 280000 154000 162225 5 10
96120000 1 280000 154000 162225 5 10
96143345 0 66000 2986 2443 0 0
96304847 0 99000 2475 1904 0 0
96400000 1 5600000 3080000 3258652 80 90
96400000 1 280000 154000 162214 5 10
96680000 1 280000 154000 162214 5 10
96710173 0 86000 2150 1561 0 0
96813112 1 1458002 1103572 1167136 50 37
96813112 1 1168002 718904 760013 50 63
96960000 1 280000 154000 162218 5 10
97195858 0 97000 2425 1851 0 0
97240000 1 280000 154000 162218 5 10
97439161 0 92000 2300 1719 0 0
97520000 1 280000 154000 162218 5 10
97762836 0 92000 2300 1719 0 0
97763243 0 71000 2191 1603 0 0
97800000 1 280000 154000 162218 5 10
98080000 1 280000 154000 162218 5 10
98081114 1 2107002 1959110 2072468 4 99
98081114 1 1347002 1195722 1264606 57 34
98081114 1 1987002 1254103 1326407 22 50
98220054 0 73000 1825 1216 0 0
98360000 1 280000 154000 162222 5 10
98492233 0 96000 2400 1825 0 0
98640000 1 280000 154000 162222 5 10
98920000 1 280000 154000 162222 5 10
98948616 0 82000 2050 1455 0 0
99200000 1 280000 154000 162222 5 10
99434494 0 97000 2425 1851 0 0
99480000 1 280000 154000 162222 5 10
99515691 0 76000 2070 1475 0 0
99760000 1 280000 154000 162222 5 10
99839614 0 86000 3148 2616 0 0
99839785 0 91000 2275 1692 0 0
100040000 1 280000 154000 162222 5 10
100168116 1 1460002 1276815 1350410 35 45
100168116 1 1233002 811625 858155 36 38
100168116 1 1572002 549837 581157 46 69
100168116 1 2977002 805176 851368 31 11
100320000 1 280000 154000 162222 5 10
100600000 1 280000 154000 162222 5 10
100840751 0 78000 1950 1348 0 0
100880000 1 280000 154000 162222 5 10
101160000 1 280000 154000 162222 5 10
101407970 0 90000 2250 1666 0 0
101440000 1 280000 154000 162222 5 10
101489499 0 91000 2610 2047 0 0
101489642 0 69000 1725 1110 0 0
101720000 1 280000 154000 162222 5 10
102000000 1 3800000 2926000 3095629 80 90
102000000 1 190000 146300 154071 5 10
102190000 1 190000 146300 154071 5 10
102380000 1 190000 146300 154071 5 10
102570000 1 190000 146300 154071 5 10
102760000 1 190000 146300 154071 5 10
102950000 1 190000 146300 154071 5 10
103140000 1 190000 146300 154071 5 10
103245118 1 818002 82058 86133 54 97
103245118 1 1107002 77945 81784 71 16
103245118 1 697002 185308 195398 39 20
103245118 1 2107002 62104 65015 89 100
103330000 1 190000 146300 154069 5 10
103520000 1 190000 146300 154069 5 10
103710000 1 190000 146300 154069 5 10
103900000 1 190000 146300 154069 5 10
104090000 1 190000 146300 154069 5 10
104280000 1 190000 146300 154069 5 10
104470000 1 190000 146300 154069 5 10
104660000 1 190000 146300 154069 5 10
104850000 1 190000 146300 154069 5 10
105040000 1 190000 146300 154069 5 10
105230000 1 190000 146300 154069 5 10
105420000 1 190000 146300 154069 5 10
105452120 1 779002 231364 244089 79 75
105610000 1 190000 146300 154071 5 10
105800000 1 3800000 2926000 3095659 80 90
105800000 1 190000 146300 154122 5 10
105990000 1 190000 146300 154122 5 10
106180000 1 190000 146300 154122 5 10
106268284 0 100000 2500 1931 0 0
106331122 1 443002 5641 5253 69 72
106331122 1 1665002 942364 996515 72 16
106331122 1 2739002 709436 749996 58 27
106370000 1 190000 146300 154067 5 10
106560000 1 190000 146300 154067 5 10
106750000 1 190000 146300 154067 5 10
106805664 0 82000 2688 2129 0 0
106940000 1 190000 146300 154067 5 10
107078723 0 92000 2300 1719 0 0
107130000 1 190000 146300 154067 5 10
107158817 0 59000 1599 977 0 0
107210837 0 78000 2281 1698 0 0
107291765 0 75000 2130 1539 0 0
107320000 1 190000 146300 154067 5 10
107510000 1 190000 146300 154067 5 10
107700000 1 190000 146300 154067 5 10
107890000 1 190000 146300 154067 5 10
108080000 1 190000 146300 154067 5 10
108270000 1 190000 146300 154067 5 10
108460000 1 190000 146300 154067 5 10
108650000 1 190000 146300 154067 5 10
108698025 0 71000 2044 1448 0 0
108840000 1 190000 146300 154067 5 10
108860692 0 67000 2159 1570 0 0
109030000 1 190000 146300 154067 5 10
109170124 1 2455002 1961694 2075195 75 86
109170124 1 2898002 85762 90049 53 26
109170124 1 2648002 691495 731060 8 24
109170124 1 267002 21664 22204 27 50
109170124 1 1450002 361880 382219 13 62
109220000 1 190000 146300 154125 5 10
109410000 1 190000 146300 154125 5 10
109600000 1 3800000 2926000 3095578 80 90
109600000 1 190000 146300 154124 5 10
109790000 1 190000 146300 154124 5 10
109980000 1 190000 146300 154124 5 10
110170000 1 190000 146300 154124 5 10
110360000 1 190000 146300 154124 5 10
110550000 1 190000 146300 154124 5 10
110720126 1 2706002 487696 515419 33 31
110740000 1 190000 146300 154071 5 10
110930000 1 190000 146300 154071 5 10
111120000 1 190000 146300 154071 5 10
111310000 1 190000 146300 154071 5 10
111500000 1 190000 146300 154071 5 10
111690000 1 190000 146300 154071 5 10
111880000 1 190000 146300 154071 5 10
111937866 0 78000 1950 1348 0 0
112070000 1 190000 146300 154071 5 10
112260000 1 190000 146300 154071 5 10
112450000 1 190000 146300 154071 5 10
112640000 1 190000 146300 154071 5 10
112830000 1 190000 146300 154071 5 10
113020000 1 190000 146300 154071 5 10
113210000 1 190000 146300 154071 5 10
113366926 0 72000 1906 1301 0 0
113400000 1 3800000 2926000 3095624 80 90
113400000 1 190000 146300 154076 5 10
113447731 0 73000 2251 1666 0 0
113526128 1 1361002 1081105 1143354 37 24
113526128 1 2774002 2640963 2793983 86 84
113526128 1 565002 425383 449435 79 9
113526128 1 930002 281633 297330 43 94
113526128 1 1967002 288096 304103 55 51
113526128 1 1141002 1093302 1156229 73 36
113529103 0 74000 2128 1536 0 0
113590000 1 190000 146300 154127 5 10
113780000 1 190000 146300 154127 5 10
113970000 1 190000 146300 154127 5 10
114160000 1 190000 146300 154127 5 10
114287808 0 77000 2239 1654 0 0
114350000 1 190000 146300 154127 5 10
114368339 0 93000 2325 1746 0 0
114449100 0 88000 2200 1613 0 0
114530807 0 88000 2200 1613 0 0
114540000 1 190000 146300 154127 5 10
114730000 1 190000 146300 154127 5 10
114767130 1 1422002 171812 181120 36 66
114920000 1 190000 146300 154080 5 10
115110000 1 190000 146300 154080 5 10
115300000 1 190000 146300 154080 5 10
115490000 1 190000 146300 154080 5 10
115680000 1 190000 146300 154080 5 10
115870000 1 190000 146300 154080 5 10
116060000 1 190000 146300 154080 5 10
116250000 1 190000 146300 154080 5 10
116289132 1 1438002 1068638 1130145 92 83
116440000 1 190000 146300 154120 5 10
116630000 1 190000 146300 154120 5 10
116820000 1 190000 146300 154120 5 10
117010000 1 190000 146300 154120 5 10
117200000 1 3800000 2926000 3095640 80 90
117200000 1 190000 146300 154122 5 10
117390000 1 190000 146300 154122 5 10
117580000 1 190000 146300 154122 5 10
117770000 1 190000 146300 154122 5 10
117827134 1 1934002 918431 971185 92 1
117960000 1 190000 146300 154067 5 10
118150000 1 190000 146300 154067 5 10
118255950 0 80000 2139 1549 0 0
118340000 1 190000 146300 154067 5 10
118530000 1 190000 146300 154067 5 10
118720000 1 190000 146300 154067 5 10
118910000 1 190000 146300 154067 5 10
119100000 1 190000 146300 154067 5 10
119198984 0 80000 2125 1533 0 0
119290000 1 190000 146300 154067 5 10
119360788 0 92000 2300 1719 0 0
119480000 1 190000 146300 154067 5 10
119523155 0 84000 2435 1862 0 0
119670000 1 190000 146300 154067 5 10
119860000 1 190000 146300 154067 5 10
119861136 1 646002 401618 424282 8 45
119861136 1 156002 51422 53690 93 26
120050000 1 190000 146300 154124 5 10
120240000 1 190000 146300 154124 5 10
120430000 1 190000 146300 154124 5 10
120524902 0 89000 2302 1720 0 0
120620000 1 190000 146300 154124 5 10
120810000 1 190000 146300 154124 5 10
/unsupported/trunk/crunch/load/120_1/vpattern.dat
0,0 → 1,868
867
1000000 3600000 792000 837402 80 90
1000000 180000 39600 41185 5 10
1000000 948002 482431 509820 73 73
1000000 1005002 667004 705086 61 21
1180000 180000 39600 41182 5 10
1360000 180000 39600 41182 5 10
1540000 180000 39600 41182 5 10
1720000 180000 39600 41182 5 10
1900000 180000 39600 41182 5 10
2080000 180000 39600 41182 5 10
2105002 424002 113189 119082 85 64
2260000 180000 39600 41183 5 10
2440000 180000 39600 41183 5 10
2620000 180000 39600 41183 5 10
2629004 2690002 1271063 1344382 17 41
2800000 180000 39600 41195 5 10
2980000 180000 39600 41195 5 10
3160000 180000 39600 41195 5 10
3340000 180000 39600 41195 5 10
3520000 180000 39600 41195 5 10
3700000 180000 39600 41195 5 10
3880000 180000 39600 41195 5 10
4060000 180000 39600 41195 5 10
4240000 180000 39600 41195 5 10
4420000 180000 39600 41195 5 10
4600000 3600000 792000 837447 80 90
4600000 180000 39600 41180 5 10
4780000 180000 39600 41180 5 10
4960000 180000 39600 41180 5 10
5140000 180000 39600 41180 5 10
5320000 180000 39600 41180 5 10
5419006 2084002 157190 165589 94 29
5500000 180000 39600 41181 5 10
5680000 180000 39600 41181 5 10
5860000 180000 39600 41181 5 10
6040000 180000 39600 41181 5 10
6220000 180000 39600 41181 5 10
6400000 180000 39600 41181 5 10
6580000 180000 39600 41181 5 10
6760000 180000 39600 41181 5 10
6940000 180000 39600 41181 5 10
7120000 180000 39600 41181 5 10
7300000 180000 39600 41181 5 10
7480000 180000 39600 41181 5 10
7603008 2663002 2506134 2651322 24 42
7660000 180000 39600 41183 5 10
7840000 180000 39600 41183 5 10
8020000 180000 39600 41183 5 10
8200000 3600000 792000 837400 80 90
8200000 180000 39600 41177 5 10
8380000 180000 39600 41177 5 10
8560000 180000 39600 41177 5 10
8740000 180000 39600 41177 5 10
8920000 180000 39600 41177 5 10
9100000 180000 39600 41177 5 10
9280000 180000 39600 41177 5 10
9460000 180000 39600 41177 5 10
9640000 180000 39600 41177 5 10
9820000 180000 39600 41177 5 10
10000000 180000 39600 41177 5 10
10180000 180000 39600 41177 5 10
10360000 180000 39600 41177 5 10
10366010 1902002 1718177 1817503 36 33
10540000 180000 39600 41182 5 10
10720000 180000 39600 41182 5 10
10900000 180000 39600 41182 5 10
11080000 180000 39600 41182 5 10
11260000 180000 39600 41182 5 10
11440000 180000 39600 41182 5 10
11620000 180000 39600 41182 5 10
11800000 3600000 792000 837396 80 90
11800000 180000 39600 41183 5 10
11980000 180000 39600 41183 5 10
12160000 180000 39600 41183 5 10
12340000 180000 39600 41183 5 10
12368012 2920002 1675238 1772061 10 5
12368012 2569002 2400619 2539657 51 88
12520000 180000 39600 41183 5 10
12700000 180000 39600 41183 5 10
12880000 180000 39600 41183 5 10
13060000 180000 39600 41183 5 10
13240000 180000 39600 41183 5 10
13420000 180000 39600 41183 5 10
13600000 180000 39600 41183 5 10
13780000 180000 39600 41183 5 10
13960000 180000 39600 41183 5 10
14140000 180000 39600 41183 5 10
14320000 180000 39600 41183 5 10
14500000 180000 39600 41183 5 10
14680000 180000 39600 41183 5 10
14860000 180000 39600 41183 5 10
15037014 480002 45079 46999 43 49
15037014 857002 734926 776975 26 80
15040000 180000 39600 41198 5 10
15220000 180000 39600 41198 5 10
15400000 3600000 792000 837401 80 90
15400000 180000 39600 41197 5 10
15580000 180000 39600 41197 5 10
15760000 180000 39600 41197 5 10
15940000 180000 39600 41197 5 10
15994016 1629002 830859 878529 98 10
15994016 2582002 350306 370027 27 13
15994016 2190002 13750 13833 59 86
16120000 180000 39600 41182 5 10
16300000 180000 39600 41182 5 10
16480000 180000 39600 41182 5 10
16660000 180000 39600 41182 5 10
16840000 180000 39600 41182 5 10
17020000 180000 39600 41182 5 10
17200000 180000 39600 41182 5 10
17380000 180000 39600 41182 5 10
17560000 180000 39600 41182 5 10
17740000 180000 39600 41182 5 10
17920000 180000 39600 41182 5 10
18100000 180000 39600 41182 5 10
18280000 180000 39600 41182 5 10
18284018 1352002 323167 341261 72 41
18460000 180000 39600 41192 5 10
18640000 180000 39600 41192 5 10
18820000 180000 39600 41192 5 10
19000000 1000000 260000 274465 80 90
19000000 50000 13000 13044 5 10
19050000 50000 13000 13044 5 10
19100000 50000 13000 13044 5 10
19150000 50000 13000 13044 5 10
19200000 50000 13000 13044 5 10
19250000 50000 13000 13044 5 10
19300000 50000 13000 13044 5 10
19350000 50000 13000 13044 5 10
19400000 50000 13000 13044 5 10
19450000 50000 13000 13044 5 10
19500000 50000 13000 13044 5 10
19550000 50000 13000 13044 5 10
19600000 50000 13000 13044 5 10
19650000 50000 13000 13044 5 10
19700000 50000 13000 13044 5 10
19736020 1031002 556354 588001 46 94
19750000 50000 13000 13040 5 10
19800000 50000 13000 13040 5 10
19850000 50000 13000 13040 5 10
19900000 50000 13000 13040 5 10
19950000 50000 13000 13040 5 10
20000000 1000000 260000 274439 80 90
20000000 50000 13000 13045 5 10
20050000 50000 13000 13045 5 10
20100000 50000 13000 13045 5 10
20150000 50000 13000 13045 5 10
20200000 50000 13000 13045 5 10
20250000 50000 13000 13045 5 10
20300000 50000 13000 13045 5 10
20350000 50000 13000 13045 5 10
20400000 50000 13000 13045 5 10
20450000 50000 13000 13045 5 10
20500000 50000 13000 13045 5 10
20550000 50000 13000 13045 5 10
20600000 50000 13000 13045 5 10
20650000 50000 13000 13045 5 10
20700000 50000 13000 13045 5 10
20750000 50000 13000 13045 5 10
20800000 50000 13000 13045 5 10
20850000 50000 13000 13045 5 10
20867022 2040002 1743982 1844825 6 60
20900000 50000 13000 13040 5 10
20950000 50000 13000 13040 5 10
21000000 1000000 260000 274448 80 90
21000000 50000 13000 13039 5 10
21050000 50000 13000 13039 5 10
21100000 50000 13000 13039 5 10
21150000 50000 13000 13039 5 10
21200000 50000 13000 13039 5 10
21250000 50000 13000 13039 5 10
21300000 50000 13000 13039 5 10
21350000 50000 13000 13039 5 10
21400000 50000 13000 13039 5 10
21450000 50000 13000 13039 5 10
21500000 50000 13000 13039 5 10
21550000 50000 13000 13039 5 10
21600000 50000 13000 13039 5 10
21650000 50000 13000 13039 5 10
21700000 50000 13000 13039 5 10
21750000 50000 13000 13039 5 10
21800000 50000 13000 13039 5 10
21850000 50000 13000 13039 5 10
21900000 50000 13000 13039 5 10
21950000 50000 13000 13039 5 10
22000000 1000000 260000 274457 80 90
22000000 50000 13000 13040 5 10
22050000 50000 13000 13040 5 10
22100000 50000 13000 13040 5 10
22150000 50000 13000 13040 5 10
22200000 50000 13000 13040 5 10
22250000 50000 13000 13040 5 10
22300000 50000 13000 13040 5 10
22350000 50000 13000 13040 5 10
22400000 50000 13000 13040 5 10
22450000 50000 13000 13040 5 10
22500000 50000 13000 13040 5 10
22550000 50000 13000 13040 5 10
22600000 50000 13000 13040 5 10
22650000 50000 13000 13040 5 10
22700000 50000 13000 13040 5 10
22750000 50000 13000 13040 5 10
22800000 50000 13000 13040 5 10
22850000 50000 13000 13040 5 10
22900000 50000 13000 13040 5 10
22950000 50000 13000 13040 5 10
23000000 1000000 260000 274422 80 90
23000000 50000 13000 13044 5 10
23007024 1133002 142298 149839 9 7
23007024 2695002 1986655 2101611 80 90
23050000 50000 13000 13039 5 10
23100000 50000 13000 13039 5 10
23150000 50000 13000 13039 5 10
23200000 50000 13000 13039 5 10
23250000 50000 13000 13039 5 10
23300000 50000 13000 13039 5 10
23350000 50000 13000 13039 5 10
23400000 50000 13000 13039 5 10
23450000 50000 13000 13039 5 10
23500000 50000 13000 13039 5 10
23550000 50000 13000 13039 5 10
23600000 50000 13000 13039 5 10
23650000 50000 13000 13039 5 10
23700000 50000 13000 13039 5 10
23750000 50000 13000 13039 5 10
23800000 50000 13000 13039 5 10
23850000 50000 13000 13039 5 10
23900000 50000 13000 13039 5 10
23950000 50000 13000 13039 5 10
24000000 5000000 5000000 5290375 80 90
24000000 250000 250000 263870 5 10
24250000 250000 250000 263870 5 10
24500000 250000 250000 263870 5 10
24750000 250000 250000 263870 5 10
25000000 250000 250000 263870 5 10
25250000 250000 250000 263870 5 10
25500000 250000 250000 263870 5 10
25750000 250000 250000 263870 5 10
25802026 924002 184480 194489 12 93
25802026 2922002 1647630 1742829 22 27
25802026 700002 388710 410581 55 10
25802026 1494002 1108734 1172599 89 98
26000000 250000 250000 263860 5 10
26250000 250000 250000 263860 5 10
26500000 250000 250000 263860 5 10
26750000 250000 250000 263860 5 10
27000000 250000 250000 263860 5 10
27250000 250000 250000 263860 5 10
27396028 1904002 741039 783489 68 19
27500000 250000 250000 263833 5 10
27750000 250000 250000 263833 5 10
28000000 250000 250000 263833 5 10
28250000 250000 250000 263833 5 10
28500000 250000 250000 263833 5 10
28750000 250000 250000 263833 5 10
29000000 5000000 5000000 5290414 80 90
29000000 250000 250000 263787 5 10
29250000 250000 250000 263787 5 10
29400030 2202002 1966810 2080616 55 79
29500000 250000 250000 263787 5 10
29750000 250000 250000 263787 5 10
30000000 250000 250000 263787 5 10
30250000 250000 250000 263787 5 10
30500000 250000 250000 263787 5 10
30750000 250000 250000 263787 5 10
31000000 250000 250000 263787 5 10
31250000 250000 250000 263787 5 10
31500000 250000 250000 263787 5 10
31702032 2763002 1822616 1928016 17 40
31750000 250000 250000 263835 5 10
32000000 250000 250000 263835 5 10
32250000 250000 250000 263835 5 10
32500000 250000 250000 263835 5 10
32750000 250000 250000 263835 5 10
33000000 250000 250000 263835 5 10
33250000 250000 250000 263835 5 10
33500000 250000 250000 263835 5 10
33750000 250000 250000 263835 5 10
34000000 5000000 5000000 5290416 80 90
34000000 250000 250000 263865 5 10
34250000 250000 250000 263865 5 10
34500000 250000 250000 263865 5 10
34565034 102002 48188 50269 33 46
34565034 2031002 1109806 1173704 98 60
34750000 250000 250000 263874 5 10
35000000 250000 250000 263874 5 10
35250000 250000 250000 263874 5 10
35500000 250000 250000 263874 5 10
35750000 250000 250000 263874 5 10
36000000 250000 250000 263874 5 10
36250000 250000 250000 263874 5 10
36500000 250000 250000 263874 5 10
36696036 1613002 1175317 1243026 55 42
36750000 250000 250000 263874 5 10
37000000 250000 250000 263874 5 10
37250000 250000 250000 263874 5 10
37500000 250000 250000 263874 5 10
37750000 250000 250000 263874 5 10
38000000 250000 250000 263874 5 10
38250000 250000 250000 263874 5 10
38409038 44002 19554 19973 88 66
38500000 250000 250000 263860 5 10
38553040 2042002 1261616 1334391 55 56
38750000 250000 250000 263839 5 10
39000000 5000000 5000000 5290365 80 90
39000000 250000 250000 263794 5 10
39250000 250000 250000 263794 5 10
39500000 250000 250000 263794 5 10
39750000 250000 250000 263794 5 10
40000000 250000 250000 263794 5 10
40250000 250000 250000 263794 5 10
40500000 250000 250000 263794 5 10
40695042 2321002 1709360 1808167 96 26
40750000 250000 250000 263884 5 10
41000000 250000 250000 263884 5 10
41250000 250000 250000 263884 5 10
41500000 250000 250000 263884 5 10
41750000 250000 250000 263884 5 10
42000000 250000 250000 263884 5 10
42250000 250000 250000 263884 5 10
42500000 250000 250000 263884 5 10
42750000 250000 250000 263884 5 10
43000000 250000 250000 263884 5 10
43116044 1508002 328958 347400 100 7
43116044 2053002 165947 174853 53 58
43250000 250000 250000 263790 5 10
43500000 250000 250000 263790 5 10
43750000 250000 250000 263790 5 10
44000000 5000000 5000000 5290418 80 90
44000000 250000 250000 263808 5 10
44250000 250000 250000 263808 5 10
44500000 250000 250000 263808 5 10
44750000 250000 250000 263808 5 10
45000000 250000 250000 263808 5 10
45250000 250000 250000 263808 5 10
45269046 217002 173624 182999 26 19
45500000 250000 250000 263833 5 10
45586048 2506002 1214577 1284576 30 21
45586048 279002 62021 64904 88 1
45750000 250000 250000 263891 5 10
45965050 587002 531557 561798 13 24
45965050 1808002 930618 984045 34 28
46000000 250000 250000 263790 5 10
46250000 250000 250000 263790 5 10
46500000 250000 250000 263790 5 10
46750000 250000 250000 263790 5 10
47000000 250000 250000 263790 5 10
47250000 250000 250000 263790 5 10
47500000 250000 250000 263790 5 10
47750000 250000 250000 263790 5 10
47873052 1739002 311765 329190 82 63
48000000 250000 250000 263808 5 10
48250000 250000 250000 263808 5 10
48500000 250000 250000 263808 5 10
48750000 250000 250000 263808 5 10
49000000 1800000 522000 551654 80 90
49000000 90000 26100 26907 5 10
49090000 90000 26100 26907 5 10
49180000 90000 26100 26907 5 10
49270000 90000 26100 26907 5 10
49360000 90000 26100 26907 5 10
49450000 90000 26100 26907 5 10
49540000 90000 26100 26907 5 10
49630000 90000 26100 26907 5 10
49712054 1826002 1038627 1098393 4 17
49712054 6002 3398 2881 58 90
49712054 2705002 86154 90468 13 43
49720000 90000 26100 26899 5 10
49810000 90000 26100 26899 5 10
49900000 90000 26100 26899 5 10
49990000 90000 26100 26899 5 10
50080000 90000 26100 26899 5 10
50170000 90000 26100 26899 5 10
50260000 90000 26100 26899 5 10
50350000 90000 26100 26899 5 10
50440000 90000 26100 26899 5 10
50530000 90000 26100 26899 5 10
50620000 90000 26100 26899 5 10
50710000 90000 26100 26899 5 10
50800000 1800000 522000 551668 80 90
50800000 90000 26100 26907 5 10
50890000 90000 26100 26907 5 10
50980000 90000 26100 26907 5 10
51070000 90000 26100 26907 5 10
51160000 90000 26100 26907 5 10
51250000 90000 26100 26907 5 10
51340000 90000 26100 26907 5 10
51430000 90000 26100 26907 5 10
51520000 90000 26100 26907 5 10
51610000 90000 26100 26907 5 10
51700000 90000 26100 26907 5 10
51790000 90000 26100 26907 5 10
51880000 90000 26100 26907 5 10
51970000 90000 26100 26907 5 10
52060000 90000 26100 26907 5 10
52150000 90000 26100 26907 5 10
52240000 90000 26100 26907 5 10
52330000 90000 26100 26907 5 10
52420000 90000 26100 26907 5 10
52510000 90000 26100 26907 5 10
52517056 1748002 1410488 1491893 20 18
52600000 1800000 522000 551647 80 90
52600000 90000 26100 26901 5 10
52690000 90000 26100 26901 5 10
52780000 90000 26100 26901 5 10
52870000 90000 26100 26901 5 10
52960000 90000 26100 26901 5 10
53050000 90000 26100 26901 5 10
53140000 90000 26100 26901 5 10
53230000 90000 26100 26901 5 10
53320000 90000 26100 26901 5 10
53410000 90000 26100 26901 5 10
53500000 90000 26100 26901 5 10
53590000 90000 26100 26901 5 10
53680000 90000 26100 26901 5 10
53770000 90000 26100 26901 5 10
53860000 90000 26100 26901 5 10
53950000 90000 26100 26901 5 10
54040000 90000 26100 26901 5 10
54130000 90000 26100 26901 5 10
54220000 90000 26100 26901 5 10
54310000 90000 26100 26901 5 10
54365058 150002 103582 108873 65 28
54365058 2224002 360929 381223 65 26
54400000 1800000 522000 551690 80 90
54400000 90000 26100 26898 5 10
54490000 90000 26100 26898 5 10
54580000 90000 26100 26898 5 10
54670000 90000 26100 26898 5 10
54760000 90000 26100 26898 5 10
54850000 90000 26100 26898 5 10
54940000 90000 26100 26898 5 10
55030000 90000 26100 26898 5 10
55120000 90000 26100 26898 5 10
55210000 90000 26100 26898 5 10
55300000 90000 26100 26898 5 10
55390000 90000 26100 26898 5 10
55480000 90000 26100 26898 5 10
55570000 90000 26100 26898 5 10
55660000 90000 26100 26898 5 10
55750000 90000 26100 26898 5 10
55840000 90000 26100 26898 5 10
55930000 90000 26100 26898 5 10
56020000 90000 26100 26898 5 10
56110000 90000 26100 26898 5 10
56200000 1800000 522000 551656 80 90
56200000 90000 26100 26909 5 10
56290000 90000 26100 26909 5 10
56380000 90000 26100 26909 5 10
56470000 90000 26100 26909 5 10
56560000 90000 26100 26909 5 10
56650000 90000 26100 26909 5 10
56689060 1158002 1083915 1146315 18 71
56740000 90000 26100 26899 5 10
56830000 90000 26100 26899 5 10
56920000 90000 26100 26899 5 10
57010000 90000 26100 26899 5 10
57100000 90000 26100 26899 5 10
57190000 90000 26100 26899 5 10
57280000 90000 26100 26899 5 10
57370000 90000 26100 26899 5 10
57460000 90000 26100 26899 5 10
57550000 90000 26100 26899 5 10
57640000 90000 26100 26899 5 10
57730000 90000 26100 26899 5 10
57820000 90000 26100 26899 5 10
57910000 90000 26100 26899 5 10
57947062 856002 462631 488882 51 81
58000000 3200000 2304000 2437427 80 90
58000000 160000 115200 121166 5 10
58160000 160000 115200 121166 5 10
58320000 160000 115200 121166 5 10
58480000 160000 115200 121166 5 10
58640000 160000 115200 121166 5 10
58800000 160000 115200 121166 5 10
58903064 855002 663196 701079 32 81
58960000 160000 115200 121203 5 10
59120000 160000 115200 121203 5 10
59280000 160000 115200 121203 5 10
59440000 160000 115200 121203 5 10
59600000 160000 115200 121203 5 10
59760000 160000 115200 121203 5 10
59858066 2848002 1930317 2041981 61 33
59858066 2867002 1697032 1795106 63 60
59858066 1168002 437978 462780 2 35
59858066 2067002 1079046 1141152 22 7
59858066 1476002 1039252 1099044 42 35
59920000 160000 115200 121161 5 10
60080000 160000 115200 121161 5 10
60240000 160000 115200 121161 5 10
60400000 160000 115200 121161 5 10
60560000 160000 115200 121161 5 10
60720000 160000 115200 121161 5 10
60880000 160000 115200 121161 5 10
61040000 160000 115200 121161 5 10
61200000 3200000 2304000 2437449 80 90
61200000 160000 115200 121164 5 10
61360000 160000 115200 121164 5 10
61434068 1096002 936145 989908 94 93
61434068 32002 30918 31996 1 31
61520000 160000 115200 121172 5 10
61566070 1328002 840830 889053 94 57
61566070 558002 381573 403050 50 49
61566070 2257002 872000 922068 76 61
61566070 826002 477837 504938 78 87
61680000 160000 115200 121206 5 10
61840000 160000 115200 121206 5 10
62000000 160000 115200 121206 5 10
62160000 160000 115200 121206 5 10
62320000 160000 115200 121206 5 10
62480000 160000 115200 121206 5 10
62492072 2468002 2087746 2208592 42 17
62640000 160000 115200 121176 5 10
62800000 160000 115200 121176 5 10
62960000 160000 115200 121176 5 10
63120000 160000 115200 121176 5 10
63280000 160000 115200 121176 5 10
63440000 160000 115200 121176 5 10
63600000 160000 115200 121176 5 10
63760000 160000 115200 121176 5 10
63920000 160000 115200 121176 5 10
64080000 160000 115200 121176 5 10
64240000 160000 115200 121176 5 10
64400000 3200000 2304000 2437408 80 90
64400000 160000 115200 121174 5 10
64560000 160000 115200 121174 5 10
64720000 160000 115200 121174 5 10
64880000 160000 115200 121174 5 10
65040000 160000 115200 121174 5 10
65060074 1997002 747316 790126 21 70
65200000 160000 115200 121174 5 10
65360000 160000 115200 121174 5 10
65520000 160000 115200 121174 5 10
65680000 160000 115200 121174 5 10
65840000 160000 115200 121174 5 10
66000000 160000 115200 121174 5 10
66160000 160000 115200 121174 5 10
66320000 160000 115200 121174 5 10
66480000 160000 115200 121174 5 10
66640000 160000 115200 121174 5 10
66800000 160000 115200 121174 5 10
66960000 160000 115200 121174 5 10
67120000 160000 115200 121174 5 10
67157076 1549002 658208 695808 7 71
67280000 160000 115200 121204 5 10
67440000 160000 115200 121204 5 10
67600000 3200000 2304000 2437443 80 90
67600000 160000 115200 121169 5 10
67760000 160000 115200 121169 5 10
67920000 160000 115200 121169 5 10
68080000 160000 115200 121169 5 10
68240000 160000 115200 121169 5 10
68400000 160000 115200 121169 5 10
68560000 160000 115200 121169 5 10
68720000 160000 115200 121169 5 10
68806078 348002 307802 325017 24 26
68806078 987002 116089 122151 29 49
68880000 160000 115200 121203 5 10
69040000 160000 115200 121203 5 10
69200000 160000 115200 121203 5 10
69360000 160000 115200 121203 5 10
69520000 160000 115200 121203 5 10
69680000 160000 115200 121203 5 10
69840000 160000 115200 121203 5 10
69893080 1128002 266659 281501 37 88
69893080 2255002 1966070 2079803 25 77
69893080 2531002 2112468 2234698 1 56
70000000 160000 115200 121206 5 10
70160000 160000 115200 121206 5 10
70320000 160000 115200 121206 5 10
70480000 160000 115200 121206 5 10
70640000 160000 115200 121206 5 10
70800000 3200000 2304000 2437423 80 90
70800000 160000 115200 121214 5 10
70960000 160000 115200 121214 5 10
71120000 160000 115200 121214 5 10
71280000 160000 115200 121214 5 10
71440000 160000 115200 121214 5 10
71600000 160000 115200 121214 5 10
71760000 160000 115200 121214 5 10
71920000 160000 115200 121214 5 10
72080000 160000 115200 121214 5 10
72240000 160000 115200 121214 5 10
72400000 160000 115200 121214 5 10
72524082 74002 28416 29351 75 57
72524082 1369002 944728 999039 95 55
72524082 2658002 564240 596380 65 1
72524082 2880002 344142 363445 23 79
72524082 1667002 485209 512765 8 23
72524082 1833002 835588 883515 48 19
72560000 160000 115200 121166 5 10
72720000 160000 115200 121166 5 10
72880000 160000 115200 121166 5 10
73040000 160000 115200 121166 5 10
73200000 160000 115200 121166 5 10
73360000 160000 115200 121166 5 10
73520000 160000 115200 121166 5 10
73680000 160000 115200 121166 5 10
73840000 160000 115200 121166 5 10
74000000 5600000 3080000 3258634 80 90
74000000 280000 154000 162257 5 10
74280000 280000 154000 162257 5 10
74457084 790002 786572 831626 45 80
74560000 280000 154000 162219 5 10
74840000 280000 154000 162219 5 10
75120000 280000 154000 162219 5 10
75347086 41002 30969 32062 43 90
75347086 336002 63459 66448 34 22
75400000 280000 154000 162216 5 10
75680000 280000 154000 162216 5 10
75783088 1291002 1008318 1066323 31 64
75783088 2106002 1883656 1992568 43 77
75783088 1976002 1845195 1951881 84 39
75783088 2721002 1377766 1457252 78 89
75783088 281002 202534 213573 69 46
75960000 280000 154000 162225 5 10
76164090 1742002 1186725 1255082 94 22
76240000 280000 154000 162220 5 10
76520000 280000 154000 162220 5 10
76800000 280000 154000 162220 5 10
77080000 280000 154000 162220 5 10
77360000 280000 154000 162220 5 10
77640000 280000 154000 162220 5 10
77920000 280000 154000 162220 5 10
78006092 506002 369708 390537 96 47
78200000 280000 154000 162210 5 10
78480000 280000 154000 162210 5 10
78612094 1664002 1052871 1113424 69 16
78760000 280000 154000 162272 5 10
79040000 280000 154000 162272 5 10
79320000 280000 154000 162272 5 10
79600000 5600000 3080000 3258608 80 90
79600000 280000 154000 162274 5 10
79880000 280000 154000 162274 5 10
80160000 280000 154000 162274 5 10
80376096 2455002 239185 252431 18 83
80376096 2060002 1651940 1747402 83 73
80440000 280000 154000 162262 5 10
80720000 280000 154000 162262 5 10
81000000 280000 154000 162262 5 10
81280000 280000 154000 162262 5 10
81560000 280000 154000 162262 5 10
81840000 280000 154000 162262 5 10
82120000 280000 154000 162262 5 10
82400000 280000 154000 162262 5 10
82536098 1593002 899992 951670 49 86
82536098 2902002 1003444 1061128 19 69
82680000 280000 154000 162221 5 10
82960000 280000 154000 162221 5 10
83240000 280000 154000 162221 5 10
83520000 280000 154000 162221 5 10
83800000 280000 154000 162221 5 10
84080000 280000 154000 162221 5 10
84360000 280000 154000 162221 5 10
84640000 280000 154000 162221 5 10
84920000 280000 154000 162221 5 10
85200000 5600000 3080000 3258645 80 90
85200000 280000 154000 162274 5 10
85480000 280000 154000 162274 5 10
85538100 1686002 10299 10182 35 84
85538100 2046002 1842815 1949385 89 71
85760000 280000 154000 162218 5 10
86040000 280000 154000 162218 5 10
86320000 280000 154000 162218 5 10
86600000 280000 154000 162218 5 10
86880000 280000 154000 162218 5 10
87160000 280000 154000 162218 5 10
87440000 280000 154000 162218 5 10
87684102 950002 46646 48639 1 93
87684102 1675002 693268 732923 54 19
87720000 280000 154000 162265 5 10
88000000 280000 154000 162265 5 10
88280000 280000 154000 162265 5 10
88560000 280000 154000 162265 5 10
88840000 280000 154000 162265 5 10
89120000 280000 154000 162265 5 10
89400000 280000 154000 162265 5 10
89459104 768002 168011 177085 51 84
89459104 2652002 1318274 1394333 41 33
89680000 280000 154000 162216 5 10
89960000 280000 154000 162216 5 10
90240000 280000 154000 162216 5 10
90520000 280000 154000 162216 5 10
90800000 5600000 3080000 3258650 80 90
90800000 280000 154000 162225 5 10
91080000 280000 154000 162225 5 10
91360000 280000 154000 162225 5 10
91640000 280000 154000 162225 5 10
91920000 280000 154000 162225 5 10
92200000 280000 154000 162225 5 10
92211106 145002 129480 136278 81 5
92456108 1380002 1124915 1189676 23 1
92480000 280000 154000 162289 5 10
92760000 280000 154000 162289 5 10
93040000 280000 154000 162289 5 10
93320000 280000 154000 162289 5 10
93600000 280000 154000 162289 5 10
93880000 280000 154000 162289 5 10
93936110 2777002 1595969 1688155 57 47
94160000 280000 154000 162225 5 10
94440000 280000 154000 162225 5 10
94720000 280000 154000 162225 5 10
95000000 280000 154000 162225 5 10
95280000 280000 154000 162225 5 10
95560000 280000 154000 162225 5 10
95840000 280000 154000 162225 5 10
96120000 280000 154000 162225 5 10
96400000 5600000 3080000 3258652 80 90
96400000 280000 154000 162214 5 10
96680000 280000 154000 162214 5 10
96813112 1458002 1103572 1167136 50 37
96813112 1168002 718904 760013 50 63
96960000 280000 154000 162218 5 10
97240000 280000 154000 162218 5 10
97520000 280000 154000 162218 5 10
97800000 280000 154000 162218 5 10
98080000 280000 154000 162218 5 10
98081114 2107002 1959110 2072468 4 99
98081114 1347002 1195722 1264606 57 34
98081114 1987002 1254103 1326407 22 50
98360000 280000 154000 162222 5 10
98640000 280000 154000 162222 5 10
98920000 280000 154000 162222 5 10
99200000 280000 154000 162222 5 10
99480000 280000 154000 162222 5 10
99760000 280000 154000 162222 5 10
100040000 280000 154000 162222 5 10
100168116 1460002 1276815 1350410 35 45
100168116 1233002 811625 858155 36 38
100168116 1572002 549837 581157 46 69
100168116 2977002 805176 851368 31 11
100320000 280000 154000 162222 5 10
100600000 280000 154000 162222 5 10
100880000 280000 154000 162222 5 10
101160000 280000 154000 162222 5 10
101440000 280000 154000 162222 5 10
101720000 280000 154000 162222 5 10
102000000 3800000 2926000 3095629 80 90
102000000 190000 146300 154071 5 10
102190000 190000 146300 154071 5 10
102380000 190000 146300 154071 5 10
102570000 190000 146300 154071 5 10
102760000 190000 146300 154071 5 10
102950000 190000 146300 154071 5 10
103140000 190000 146300 154071 5 10
103245118 818002 82058 86133 54 97
103245118 1107002 77945 81784 71 16
103245118 697002 185308 195398 39 20
103245118 2107002 62104 65015 89 100
103330000 190000 146300 154069 5 10
103520000 190000 146300 154069 5 10
103710000 190000 146300 154069 5 10
103900000 190000 146300 154069 5 10
104090000 190000 146300 154069 5 10
104280000 190000 146300 154069 5 10
104470000 190000 146300 154069 5 10
104660000 190000 146300 154069 5 10
104850000 190000 146300 154069 5 10
105040000 190000 146300 154069 5 10
105230000 190000 146300 154069 5 10
105420000 190000 146300 154069 5 10
105452120 779002 231364 244089 79 75
105610000 190000 146300 154071 5 10
105800000 3800000 2926000 3095659 80 90
105800000 190000 146300 154122 5 10
105990000 190000 146300 154122 5 10
106180000 190000 146300 154122 5 10
106331122 443002 5641 5253 69 72
106331122 1665002 942364 996515 72 16
106331122 2739002 709436 749996 58 27
106370000 190000 146300 154067 5 10
106560000 190000 146300 154067 5 10
106750000 190000 146300 154067 5 10
106940000 190000 146300 154067 5 10
107130000 190000 146300 154067 5 10
107320000 190000 146300 154067 5 10
107510000 190000 146300 154067 5 10
107700000 190000 146300 154067 5 10
107890000 190000 146300 154067 5 10
108080000 190000 146300 154067 5 10
108270000 190000 146300 154067 5 10
108460000 190000 146300 154067 5 10
108650000 190000 146300 154067 5 10
108840000 190000 146300 154067 5 10
109030000 190000 146300 154067 5 10
109170124 2455002 1961694 2075195 75 86
109170124 2898002 85762 90049 53 26
109170124 2648002 691495 731060 8 24
109170124 267002 21664 22204 27 50
109170124 1450002 361880 382219 13 62
109220000 190000 146300 154125 5 10
109410000 190000 146300 154125 5 10
109600000 3800000 2926000 3095578 80 90
109600000 190000 146300 154124 5 10
109790000 190000 146300 154124 5 10
109980000 190000 146300 154124 5 10
110170000 190000 146300 154124 5 10
110360000 190000 146300 154124 5 10
110550000 190000 146300 154124 5 10
110720126 2706002 487696 515419 33 31
110740000 190000 146300 154071 5 10
110930000 190000 146300 154071 5 10
111120000 190000 146300 154071 5 10
111310000 190000 146300 154071 5 10
111500000 190000 146300 154071 5 10
111690000 190000 146300 154071 5 10
111880000 190000 146300 154071 5 10
112070000 190000 146300 154071 5 10
112260000 190000 146300 154071 5 10
112450000 190000 146300 154071 5 10
112640000 190000 146300 154071 5 10
112830000 190000 146300 154071 5 10
113020000 190000 146300 154071 5 10
113210000 190000 146300 154071 5 10
113400000 3800000 2926000 3095624 80 90
113400000 190000 146300 154076 5 10
113526128 1361002 1081105 1143354 37 24
113526128 2774002 2640963 2793983 86 84
113526128 565002 425383 449435 79 9
113526128 930002 281633 297330 43 94
113526128 1967002 288096 304103 55 51
113526128 1141002 1093302 1156229 73 36
113590000 190000 146300 154127 5 10
113780000 190000 146300 154127 5 10
113970000 190000 146300 154127 5 10
114160000 190000 146300 154127 5 10
114350000 190000 146300 154127 5 10
114540000 190000 146300 154127 5 10
114730000 190000 146300 154127 5 10
114767130 1422002 171812 181120 36 66
114920000 190000 146300 154080 5 10
115110000 190000 146300 154080 5 10
115300000 190000 146300 154080 5 10
115490000 190000 146300 154080 5 10
115680000 190000 146300 154080 5 10
115870000 190000 146300 154080 5 10
116060000 190000 146300 154080 5 10
116250000 190000 146300 154080 5 10
116289132 1438002 1068638 1130145 92 83
116440000 190000 146300 154120 5 10
116630000 190000 146300 154120 5 10
116820000 190000 146300 154120 5 10
117010000 190000 146300 154120 5 10
117200000 3800000 2926000 3095640 80 90
117200000 190000 146300 154122 5 10
117390000 190000 146300 154122 5 10
117580000 190000 146300 154122 5 10
117770000 190000 146300 154122 5 10
117827134 1934002 918431 971185 92 1
117960000 190000 146300 154067 5 10
118150000 190000 146300 154067 5 10
118340000 190000 146300 154067 5 10
118530000 190000 146300 154067 5 10
118720000 190000 146300 154067 5 10
118910000 190000 146300 154067 5 10
119100000 190000 146300 154067 5 10
119290000 190000 146300 154067 5 10
119480000 190000 146300 154067 5 10
119670000 190000 146300 154067 5 10
119860000 190000 146300 154067 5 10
119861136 646002 401618 424282 8 45
119861136 156002 51422 53690 93 26
120050000 190000 146300 154124 5 10
120240000 190000 146300 154124 5 10
120430000 190000 146300 154124 5 10
120620000 190000 146300 154124 5 10
120810000 190000 146300 154124 5 10
/unsupported/trunk/crunch/load/120_1/hpattern.dat
0,0 → 1,137
136
1000081 43000 24668 25390
1000252 90000 9846 9692
1000415 88000 4730 4290
1000578 69000 1978 1378
4483146 56000 30821 31902
4483299 95000 2375 1799
6589722 73000 2440 1867
8128465 79000 3360 2840
8290324 99000 5582 5190
8290508 95000 3268 2742
8290649 82000 2050 1455
9019208 44000 17226 17509
9019362 67000 11010 10934
12178420 71000 1962 1361
12502801 71000 1775 1163
12583376 87000 22852 23462
12583532 85000 7178 6879
12583737 86000 2150 1560
12583941 67000 2090 1497
14446422 71000 10026 9895
14527606 68000 4236 3766
14932727 88000 2200 1614
15985597 88000 2200 1613
16309389 78000 3885 3396
17929489 72000 2886 2338
18011034 76000 1900 1296
18253873 83000 2075 1481
19468581 100000 2531 1962
19468751 100000 2500 1931
19549816 76000 1900 1296
19630450 90000 4680 4237
19630616 87000 10826 10738
19630857 72000 5658 5272
20035654 76000 4440 3983
20197501 91000 4920 4490
20197668 100000 4608 4159
20197835 69000 3810 3316
22060859 80000 2000 1401
22627458 89000 2693 2135
22627625 61000 1525 899
23113818 92000 2300 1719
23761532 67000 1675 1058
49000040 96000 49280 51422
49000208 75000 14750 14896
55075318 99000 8532 8312
55075483 70000 6779 6459
56776117 99000 39534 41127
56776287 47000 4216 3745
56776453 90000 2250 1666
64795164 99000 12147 12140
64795332 82000 8262 8025
64795497 82000 2961 2418
71437416 68000 5175 4760
71437573 66000 5284 4876
72814272 99000 5372 4968
72814559 90000 3320 2798
72814724 85000 2125 1534
74000039 78000 6968 6659
74000182 71000 5344 4941
76783641 82000 4878 4447
76783809 88000 2200 1613
76945487 73000 4987 4561
79699818 60000 1500 872
79751258 66000 1650 1031
79751418 70000 4093 3615
80104634 73000 2655 2094
80318239 70000 6018 5654
80833353 78000 4576 4127
82858607 82000 3982 3499
82858755 75000 1875 1269
83425728 87000 3058 2520
83425935 68000 1700 1084
83912035 78000 1950 1349
84560013 74000 1850 1243
85097318 93000 2325 1746
85421481 80000 3236 2709
85988355 98000 4637 4190
85988562 78000 3220 2692
86017733 98000 2450 1877
86017880 85000 2125 1534
87151424 75000 3564 3056
88933839 68000 2509 1940
88934080 89000 2225 1640
89500800 84000 2627 2065
90230127 93000 2325 1745
90472780 90000 2637 2074
90472975 86000 2150 1560
90554060 76000 1900 1296
91901533 87000 2175 1586
92306606 89000 2784 2231
92306959 73000 1825 1216
92630418 84000 2100 1507
92903116 69000 1725 1111
93226690 94000 2790 2237
93926444 73000 3916 3427
93955802 40000 1000 343
94441907 86000 2488 1918
96143345 66000 2986 2443
96304847 99000 2475 1904
96710173 86000 2150 1561
97195858 97000 2425 1851
97439161 92000 2300 1719
97762836 92000 2300 1719
97763243 71000 2191 1603
98220054 73000 1825 1216
98492233 96000 2400 1825
98948616 82000 2050 1455
99434494 97000 2425 1851
99515691 76000 2070 1475
99839614 86000 3148 2616
99839785 91000 2275 1692
100840751 78000 1950 1348
101407970 90000 2250 1666
101489499 91000 2610 2047
101489642 69000 1725 1110
106268284 100000 2500 1931
106805664 82000 2688 2129
107078723 92000 2300 1719
107158817 59000 1599 977
107210837 78000 2281 1698
107291765 75000 2130 1539
108698025 71000 2044 1448
108860692 67000 2159 1570
111937866 78000 1950 1348
113366926 72000 1906 1301
113447731 73000 2251 1666
113529103 74000 2128 1536
114287808 77000 2239 1654
114368339 93000 2325 1746
114449100 88000 2200 1613
114530807 88000 2200 1613
118255950 80000 2139 1549
119198984 80000 2125 1533
119360788 92000 2300 1719
119523155 84000 2435 1862
120524902 89000 2302 1720
/unsupported/trunk/crunch/load/initfile.c
0,0 → 1,91
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
/**
------------
CVS : $Id: initfile.c,v 1.1 2004-07-05 14:18:04 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:18:04 $
------------
**/
 
/*
* Copyright (C) 2000 Paolo Gai and Gabriele Bolognini
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
#include "kernel/kern.h"
#include "modules/rr.h"
#include "modules/dummy.h"
 
/*+ sysyem tick in us +*/
#define TICK 0
 
/*+ RR tick in us +*/
#define RRTICK 10000
 
void read_myfile(void);
 
TIME __kernel_register_levels__(void *arg)
{
struct multiboot_info *mb = (struct multiboot_info *)arg;
 
RR_register_level(RRTICK, RR_MAIN_YES, mb);
dummy_register_level();
 
/* If you need to interact with the DOS Filesystem and you use
the X eXtender, this is the better place where you can use
the DOS_fXXX functions...
 
WARNING: You can call these functions only when you are in
real mode!!!
 
The system is in real mode:
- into __kernel_register_levels__()
- into sys_atrunlevel functions posted with RUNLEVEL_AFTER_EXIT
*/
read_myfile();
 
return TICK;
}
 
TASK __init__(void *arg)
{
struct multiboot_info *mb = (struct multiboot_info *)arg;
 
__call_main__(mb);
 
return (void *)0;
}
 
/unsupported/trunk/crunch/load/length.dat
0,0 → 1,0
60
/unsupported/trunk/crunch/load/crunch.dat
0,0 → 1,709
708
500063 0 36000 19896 20209 0 0
1000000 1 3000000 1290000 1375649 80 90
1000000 1 100000 43000 45150 3 6
1000000 1 1500002 1481283 1579713 18 30
1000000 1 2921002 1208851 1289115 80 65
1000000 1 2358002 1004771 1071328 23 24
1100000 1 100000 43000 45147 3 6
1200000 1 100000 43000 45147 3 6
1300000 1 100000 43000 45147 3 6
1400000 1 100000 43000 45147 3 6
1500000 1 100000 43000 45147 3 6
1600000 1 100000 43000 45147 3 6
1700000 1 100000 43000 45147 3 6
1800000 1 100000 43000 45147 3 6
1900000 1 100000 43000 45147 3 6
2000000 1 100000 43000 45147 3 6
2100000 1 100000 43000 45147 3 6
2200000 1 100000 43000 45147 3 6
2300000 1 100000 43000 45147 3 6
2400000 1 100000 43000 45147 3 6
2500000 1 100000 43000 45147 3 6
2600000 1 100000 43000 45147 3 6
2700000 1 100000 43000 45147 3 6
2800000 1 100000 43000 45147 3 6
2900000 1 100000 43000 45147 3 6
3000000 1 100000 43000 45147 3 6
3100000 1 100000 43000 45147 3 6
3200000 1 100000 43000 45147 3 6
3300000 1 100000 43000 45147 3 6
3400000 1 100000 43000 45147 3 6
3458002 1 943002 438430 467037 13 29
3458002 1 319002 66758 70519 79 40
3458002 1 1971002 1811919 1932461 58 100
3500000 1 100000 43000 45162 3 6
3600000 1 100000 43000 45162 3 6
3700000 1 100000 43000 45162 3 6
3800000 1 100000 43000 45162 3 6
3900000 1 100000 43000 45162 3 6
4000000 1 3000000 1290000 1375618 80 90
4000000 1 100000 43000 45162 3 6
4100000 1 100000 43000 45162 3 6
4200000 1 100000 43000 45162 3 6
4300000 1 100000 43000 45162 3 6
4400000 1 100000 43000 45162 3 6
4500000 1 100000 43000 45162 3 6
4600000 1 100000 43000 45162 3 6
4700000 1 100000 43000 45162 3 6
4800000 1 100000 43000 45162 3 6
4900000 1 100000 43000 45162 3 6
5000000 1 100000 43000 45162 3 6
5100000 1 100000 43000 45162 3 6
5200000 1 100000 43000 45162 3 6
5300000 1 100000 43000 45162 3 6
5400000 1 100000 43000 45162 3 6
5500000 1 100000 43000 45162 3 6
5529004 1 280002 51947 54714 61 99
5600000 1 100000 43000 45150 3 6
5700000 1 100000 43000 45150 3 6
5800000 1 100000 43000 45150 3 6
5900000 1 100000 43000 45150 3 6
5909006 1 783002 701100 747318 23 94
5909006 1 221002 28449 29636 42 93
5909006 1 2986002 135321 143613 62 5
5909006 1 2192002 1202931 1282748 85 33
6000000 1 100000 43000 45164 3 6
6100000 1 100000 43000 45164 3 6
6200000 1 100000 43000 45164 3 6
6300000 1 100000 43000 45164 3 6
6400000 1 100000 43000 45164 3 6
6500000 1 100000 43000 45164 3 6
6600000 1 100000 43000 45164 3 6
6700000 1 100000 43000 45164 3 6
6800000 1 100000 43000 45164 3 6
6900000 1 100000 43000 45164 3 6
7000000 1 3000000 1290000 1375645 80 90
7000000 1 100000 43000 45151 3 6
7100000 1 100000 43000 45151 3 6
7200000 1 100000 43000 45151 3 6
7300000 1 100000 43000 45151 3 6
7400000 1 100000 43000 45151 3 6
7500000 1 100000 43000 45151 3 6
7600000 1 100000 43000 45151 3 6
7700000 1 100000 43000 45151 3 6
7800000 1 100000 43000 45151 3 6
7900000 1 100000 43000 45151 3 6
8000000 1 100000 43000 45151 3 6
8100000 1 100000 43000 45151 3 6
8200000 1 100000 43000 45151 3 6
8201008 1 2675002 2422758 2584205 26 11
8201008 1 1692002 1000061 1066298 76 36
8300000 1 100000 43000 45165 3 6
8400000 1 100000 43000 45165 3 6
8500000 1 100000 43000 45165 3 6
8600000 1 100000 43000 45165 3 6
8700000 1 100000 43000 45165 3 6
8800000 1 100000 43000 45165 3 6
8900000 1 100000 43000 45165 3 6
9000000 1 100000 43000 45165 3 6
9100000 1 100000 43000 45165 3 6
9200000 1 100000 43000 45165 3 6
9300000 1 100000 43000 45165 3 6
9400000 1 100000 43000 45165 3 6
9500000 1 100000 43000 45165 3 6
9600000 1 100000 43000 45165 3 6
9700000 1 100000 43000 45165 3 6
9800000 1 100000 43000 45165 3 6
9900000 1 100000 43000 45165 3 6
9993010 1 1747002 1102547 1175651 42 24
9993010 1 1500002 259938 276646 35 10
9993010 1 2679002 778228 829611 16 25
10000000 1 3000000 1290000 1375626 80 90
10000000 1 100000 43000 45149 3 6
10100000 1 100000 43000 45149 3 6
10200000 1 100000 43000 45149 3 6
10300000 1 100000 43000 45149 3 6
10400000 1 100000 43000 45149 3 6
10500000 1 100000 43000 45149 3 6
10600000 1 100000 43000 45149 3 6
10700000 1 100000 43000 45149 3 6
10800000 1 100000 43000 45149 3 6
10900000 1 100000 43000 45149 3 6
11000000 1 100000 43000 45149 3 6
11100000 1 100000 43000 45149 3 6
11200000 1 100000 43000 45149 3 6
11300000 1 100000 43000 45149 3 6
11400000 1 100000 43000 45149 3 6
11500000 1 100000 43000 45149 3 6
11600000 1 100000 43000 45149 3 6
11700000 1 100000 43000 45149 3 6
11800000 1 100000 43000 45149 3 6
11900000 1 100000 43000 45149 3 6
12000000 1 100000 43000 45149 3 6
12100000 1 100000 43000 45149 3 6
12200000 1 100000 43000 45149 3 6
12300000 1 100000 43000 45149 3 6
12400000 1 100000 43000 45149 3 6
12500000 1 100000 43000 45149 3 6
12600000 1 100000 43000 45149 3 6
12700000 1 100000 43000 45149 3 6
12772012 1 1857002 1424469 1519060 86 68
12800000 1 100000 43000 45170 3 6
12900000 1 100000 43000 45170 3 6
13000000 1 3000000 1290000 1375641 80 90
13000000 1 100000 43000 45148 3 6
13100000 1 100000 43000 45148 3 6
13200000 1 100000 43000 45148 3 6
13300000 1 100000 43000 45148 3 6
13400000 1 100000 43000 45148 3 6
13500000 1 100000 43000 45148 3 6
13600000 1 100000 43000 45148 3 6
13700000 1 100000 43000 45148 3 6
13800000 1 100000 43000 45148 3 6
13900000 1 100000 43000 45148 3 6
14000000 1 100000 43000 45148 3 6
14100000 1 100000 43000 45148 3 6
14200000 1 100000 43000 45148 3 6
14300000 1 100000 43000 45148 3 6
14400000 1 100000 43000 45148 3 6
14500000 1 100000 43000 45148 3 6
14600000 1 100000 43000 45148 3 6
14700000 1 100000 43000 45148 3 6
14729014 1 1549002 794849 847343 90 5
14729014 1 2566002 692657 738320 99 77
14729014 1 1625002 1528924 1630583 32 67
14800000 1 100000 43000 45150 3 6
14900000 1 100000 43000 45150 3 6
15000000 1 100000 43000 45150 3 6
15100000 1 100000 43000 45150 3 6
15200000 1 100000 43000 45150 3 6
15300000 1 100000 43000 45150 3 6
15400000 1 100000 43000 45150 3 6
15500000 1 100000 43000 45150 3 6
15600000 1 100000 43000 45150 3 6
15700000 1 100000 43000 45150 3 6
15800000 1 100000 43000 45150 3 6
15900000 1 100000 43000 45150 3 6
16000000 1 3000000 1290000 1375627 80 90
16000000 1 100000 43000 45161 3 6
16100000 1 100000 43000 45161 3 6
16200000 1 100000 43000 45161 3 6
16300000 1 100000 43000 45161 3 6
16400000 1 100000 43000 45161 3 6
16454016 1 867002 65308 68968 66 27
16500000 1 100000 43000 45159 3 6
16600000 1 100000 43000 45159 3 6
16700000 1 100000 43000 45159 3 6
16800000 1 100000 43000 45159 3 6
16900000 1 100000 43000 45159 3 6
17000000 1 100000 43000 45159 3 6
17100000 1 100000 43000 45159 3 6
17200000 1 100000 43000 45159 3 6
17300000 1 100000 43000 45159 3 6
17400000 1 100000 43000 45159 3 6
17421018 1 2428002 993501 1059309 19 4
17500000 1 100000 43000 45150 3 6
17600000 1 100000 43000 45150 3 6
17700000 1 100000 43000 45150 3 6
17800000 1 100000 43000 45150 3 6
17900000 1 100000 43000 45150 3 6
18000000 1 100000 43000 45150 3 6
18100000 1 100000 43000 45150 3 6
18200000 1 100000 43000 45150 3 6
18300000 1 100000 43000 45150 3 6
18400000 1 100000 43000 45150 3 6
18500000 1 100000 43000 45150 3 6
18600000 1 100000 43000 45150 3 6
18700000 1 100000 43000 45150 3 6
18800000 1 100000 43000 45150 3 6
18900000 1 100000 43000 45150 3 6
19000000 1 3000000 1290000 1375649 80 90
19000000 1 100000 43000 45151 3 6
19100000 1 100000 43000 45151 3 6
19200000 1 100000 43000 45151 3 6
19300000 1 100000 43000 45151 3 6
19400000 1 100000 43000 45151 3 6
19500000 1 100000 43000 45151 3 6
19600000 1 100000 43000 45151 3 6
19700000 1 100000 43000 45151 3 6
19800000 1 100000 43000 45151 3 6
19900000 1 100000 43000 45151 3 6
19949020 1 1658002 611967 652213 45 83
20000000 1 100000 43000 45149 3 6
20100000 1 100000 43000 45149 3 6
20200000 1 100000 43000 45149 3 6
20300000 1 100000 43000 45149 3 6
20400000 1 100000 43000 45149 3 6
20500000 1 100000 43000 45149 3 6
20600000 1 100000 43000 45149 3 6
20700000 1 100000 43000 45149 3 6
20800000 1 100000 43000 45149 3 6
20900000 1 100000 43000 45149 3 6
21000000 1 100000 43000 45149 3 6
21100000 1 100000 43000 45149 3 6
21200000 1 100000 43000 45149 3 6
21300000 1 100000 43000 45149 3 6
21400000 1 100000 43000 45149 3 6
21500000 1 100000 43000 45149 3 6
21600000 1 100000 43000 45149 3 6
21700000 1 100000 43000 45149 3 6
21707022 1 2180002 406353 432805 65 32
21707022 1 1721002 1085102 1157051 34 19
21707022 1 1813002 117495 124617 24 19
21707022 1 230002 206519 219637 92 41
21707022 1 301002 153832 163425 62 44
21707022 1 869002 617579 658216 35 26
21707022 1 2803002 275935 293732 9 5
21800000 1 100000 43000 45148 3 6
21900000 1 100000 43000 45148 3 6
22000000 1 3000000 1290000 1375583 80 90
22000000 1 100000 43000 45168 3 6
22100000 1 100000 43000 45168 3 6
22200000 1 100000 43000 45168 3 6
22300000 1 100000 43000 45168 3 6
22400000 1 100000 43000 45168 3 6
22500000 1 100000 43000 45168 3 6
22600000 1 100000 43000 45168 3 6
22700000 1 100000 43000 45168 3 6
22800000 1 100000 43000 45168 3 6
22900000 1 100000 43000 45168 3 6
23000000 1 100000 43000 45168 3 6
23100000 1 100000 43000 45168 3 6
23200000 1 100000 43000 45168 3 6
23300000 1 100000 43000 45168 3 6
23400000 1 100000 43000 45168 3 6
23500000 1 100000 43000 45168 3 6
23600000 1 100000 43000 45168 3 6
23700000 1 100000 43000 45168 3 6
23800000 1 100000 43000 45168 3 6
23900000 1 100000 43000 45168 3 6
24000000 1 100000 43000 45168 3 6
24100000 1 100000 43000 45168 3 6
24200000 1 100000 43000 45168 3 6
24300000 1 100000 43000 45168 3 6
24400000 1 100000 43000 45168 3 6
24500000 1 100000 43000 45168 3 6
24600000 1 100000 43000 45168 3 6
24610024 1 66002 12309 12414 33 57
24610024 1 1796002 1780401 1898852 75 3
24610024 1 2972002 614719 655172 15 35
24610024 1 739002 421644 449125 29 75
24700000 1 100000 43000 45165 3 6
24800000 1 100000 43000 45165 3 6
24900000 1 100000 43000 45165 3 6
25000000 1 3000000 1290000 1375654 80 90
25000000 1 100000 43000 45164 3 6
25100000 1 100000 43000 45164 3 6
25200000 1 100000 43000 45164 3 6
25300000 1 100000 43000 45164 3 6
25400000 1 100000 43000 45164 3 6
25449026 1 811002 124146 131715 76 89
25449026 1 2980002 2740975 2923733 18 37
25449026 1 2602002 2283400 2435523 32 76
25449026 1 2446002 1728002 1842967 37 36
25500000 1 100000 43000 45151 3 6
25600000 1 100000 43000 45151 3 6
25700000 1 100000 43000 45151 3 6
25800000 1 100000 43000 45151 3 6
25900000 1 100000 43000 45151 3 6
26000000 1 100000 43000 45151 3 6
26100000 1 100000 43000 45151 3 6
26200000 1 100000 43000 45151 3 6
26300000 1 100000 43000 45151 3 6
26400000 1 100000 43000 45151 3 6
26500000 1 100000 43000 45151 3 6
26600000 1 100000 43000 45151 3 6
26700000 1 100000 43000 45151 3 6
26800000 1 100000 43000 45151 3 6
26900000 1 100000 43000 45151 3 6
27000000 1 100000 43000 45151 3 6
27100000 1 100000 43000 45151 3 6
27200000 1 100000 43000 45151 3 6
27300000 1 100000 43000 45151 3 6
27400000 1 100000 43000 45151 3 6
27500000 1 100000 43000 45151 3 6
27600000 1 100000 43000 45151 3 6
27700000 1 100000 43000 45151 3 6
27800000 1 100000 43000 45151 3 6
27900000 1 100000 43000 45151 3 6
27995028 1 1692002 1269001 1353185 59 87
27995028 1 675002 560238 597010 58 28
28000000 1 3000000 1290000 1375636 80 90
28000000 1 100000 43000 45149 3 6
28100000 1 100000 43000 45149 3 6
28200000 1 100000 43000 45149 3 6
28300000 1 100000 43000 45149 3 6
28400000 1 100000 43000 45149 3 6
28500000 1 100000 43000 45149 3 6
28600000 1 100000 43000 45149 3 6
28700000 1 100000 43000 45149 3 6
28770030 1 1445002 533591 568568 42 94
28770030 1 1684002 283701 301893 70 39
28770030 1 10002 7440 7219 60 38
28800000 1 100000 43000 45162 3 6
28880032 1 857002 416099 443225 36 0
28900000 1 100000 43000 45164 3 6
29000000 1 100000 43000 45164 3 6
29100000 1 100000 43000 45164 3 6
29200000 1 100000 43000 45164 3 6
29300000 1 100000 43000 45164 3 6
29400000 1 100000 43000 45164 3 6
29500000 1 100000 43000 45164 3 6
29600000 1 100000 43000 45164 3 6
29700000 1 100000 43000 45164 3 6
29800000 1 100000 43000 45164 3 6
29837034 1 203002 75765 80101 22 96
29900000 1 100000 43000 45165 3 6
30000000 1 100000 43000 45165 3 6
30100000 1 100000 43000 45165 3 6
30140036 1 1520002 504059 537075 68 8
30140036 1 1742002 169640 180299 28 0
30140036 1 2164002 583449 621753 20 20
30200000 1 100000 43000 45160 3 6
30300000 1 100000 43000 45160 3 6
30400000 1 100000 43000 45160 3 6
30500000 1 100000 43000 45160 3 6
30600000 1 100000 43000 45160 3 6
30700000 1 100000 43000 45160 3 6
30800000 1 100000 43000 45160 3 6
30900000 1 100000 43000 45160 3 6
31000000 1 3000000 1290000 1375655 80 90
31000000 1 100000 43000 45146 3 6
31100000 1 100000 43000 45146 3 6
31200000 1 100000 43000 45146 3 6
31300000 1 100000 43000 45146 3 6
31400000 1 100000 43000 45146 3 6
31500000 1 100000 43000 45146 3 6
31600000 1 100000 43000 45146 3 6
31700000 1 100000 43000 45146 3 6
31800000 1 100000 43000 45146 3 6
31900000 1 100000 43000 45146 3 6
32000000 1 100000 43000 45146 3 6
32100000 1 100000 43000 45146 3 6
32200000 1 100000 43000 45146 3 6
32300000 1 100000 43000 45146 3 6
32400000 1 100000 43000 45146 3 6
32404038 1 1406002 1078611 1150106 82 76
32500000 1 100000 43000 45147 3 6
32600000 1 100000 43000 45147 3 6
32700000 1 100000 43000 45147 3 6
32800000 1 100000 43000 45147 3 6
32900000 1 100000 43000 45147 3 6
33000000 1 100000 43000 45147 3 6
33100000 1 100000 43000 45147 3 6
33200000 1 100000 43000 45147 3 6
33300000 1 100000 43000 45147 3 6
33400000 1 100000 43000 45147 3 6
33500000 1 100000 43000 45147 3 6
33600000 1 100000 43000 45147 3 6
33700000 1 100000 43000 45147 3 6
33800000 1 100000 43000 45147 3 6
33900000 1 100000 43000 45147 3 6
33910040 1 2480002 371141 395283 70 40
34000000 1 3000000 1290000 1375595 80 90
34000000 1 100000 43000 45170 3 6
34100000 1 100000 43000 45170 3 6
34200000 1 100000 43000 45170 3 6
34300000 1 100000 43000 45170 3 6
34400000 1 100000 43000 45170 3 6
34500000 1 100000 43000 45170 3 6
34600000 1 100000 43000 45170 3 6
34700000 1 100000 43000 45170 3 6
34800000 1 100000 43000 45170 3 6
34900000 1 100000 43000 45170 3 6
35000000 1 100000 43000 45170 3 6
35100000 1 100000 43000 45170 3 6
35200000 1 100000 43000 45170 3 6
35300000 1 100000 43000 45170 3 6
35400000 1 100000 43000 45170 3 6
35500000 1 100000 43000 45170 3 6
35600000 1 100000 43000 45170 3 6
35700000 1 100000 43000 45170 3 6
35800000 1 100000 43000 45170 3 6
35900000 1 100000 43000 45170 3 6
36000000 1 100000 43000 45170 3 6
36100000 1 100000 43000 45170 3 6
36200000 1 100000 43000 45170 3 6
36300000 1 100000 43000 45170 3 6
36400000 1 100000 43000 45170 3 6
36490042 1 2661002 264134 281112 3 95
36500000 1 100000 43000 45166 3 6
36600000 1 100000 43000 45166 3 6
36700000 1 100000 43000 45166 3 6
36800000 1 100000 43000 45166 3 6
36900000 1 100000 43000 45166 3 6
37000000 1 3000000 1290000 1375620 80 90
37000000 1 100000 43000 45146 3 6
37100000 1 100000 43000 45146 3 6
37200000 1 100000 43000 45146 3 6
37300000 1 100000 43000 45146 3 6
37400000 1 100000 43000 45146 3 6
37500000 1 100000 43000 45146 3 6
37600000 1 100000 43000 45146 3 6
37700000 1 100000 43000 45146 3 6
37800000 1 100000 43000 45146 3 6
37900000 1 100000 43000 45146 3 6
38000000 1 100000 43000 45146 3 6
38100000 1 100000 43000 45146 3 6
38200000 1 100000 43000 45146 3 6
38300000 1 100000 43000 45146 3 6
38400000 1 100000 43000 45146 3 6
38500000 1 100000 43000 45146 3 6
38600000 1 100000 43000 45146 3 6
38700000 1 100000 43000 45146 3 6
38800000 1 100000 43000 45146 3 6
38900000 1 100000 43000 45146 3 6
39000000 1 100000 43000 45146 3 6
39100000 1 100000 43000 45146 3 6
39200000 1 100000 43000 45146 3 6
39251044 1 545002 504056 537082 20 31
39300000 1 100000 43000 45144 3 6
39400000 1 100000 43000 45144 3 6
39500000 1 100000 43000 45144 3 6
39600000 1 100000 43000 45144 3 6
39700000 1 100000 43000 45144 3 6
39800000 1 100000 43000 45144 3 6
39896046 1 564002 376511 401022 98 80
39896046 1 817002 150939 160339 78 43
39896046 1 353002 99123 105013 73 15
39896046 1 2506002 714365 761476 99 84
39900000 1 100000 43000 45149 3 6
40000000 1 3000000 1290000 1375660 80 90
40000000 1 100000 43000 45147 3 6
40100000 1 100000 43000 45147 3 6
40200000 1 100000 43000 45147 3 6
40300000 1 100000 43000 45147 3 6
40400000 1 100000 43000 45147 3 6
40500000 1 100000 43000 45147 3 6
40600000 1 100000 43000 45147 3 6
40700000 1 100000 43000 45147 3 6
40800000 1 100000 43000 45147 3 6
40900000 1 100000 43000 45147 3 6
41000000 1 100000 43000 45147 3 6
41100000 1 100000 43000 45147 3 6
41200000 1 100000 43000 45147 3 6
41300000 1 100000 43000 45147 3 6
41400000 1 100000 43000 45147 3 6
41500000 1 100000 43000 45147 3 6
41600000 1 100000 43000 45147 3 6
41700000 1 100000 43000 45147 3 6
41800000 1 100000 43000 45147 3 6
41900000 1 100000 43000 45147 3 6
42000000 1 100000 43000 45147 3 6
42100000 1 100000 43000 45147 3 6
42200000 1 100000 43000 45147 3 6
42300000 1 100000 43000 45147 3 6
42400000 1 100000 43000 45147 3 6
42500000 1 100000 43000 45147 3 6
42502048 1 130002 71538 75588 72 0
42502048 1 665002 347830 370323 38 52
42502048 1 1046002 3114 2602 68 72
42600000 1 100000 43000 45153 3 6
42700000 1 100000 43000 45153 3 6
42800000 1 100000 43000 45153 3 6
42900000 1 100000 43000 45153 3 6
43000000 1 3000000 1290000 1375609 80 90
43000000 1 100000 43000 45149 3 6
43100000 1 100000 43000 45149 3 6
43200000 1 100000 43000 45149 3 6
43300000 1 100000 43000 45149 3 6
43400000 1 100000 43000 45149 3 6
43500000 1 100000 43000 45149 3 6
43600000 1 100000 43000 45149 3 6
43648050 1 2643002 1225965 1307299 91 53
43700000 1 100000 43000 45165 3 6
43800000 1 100000 43000 45165 3 6
43900000 1 100000 43000 45165 3 6
44000000 1 100000 43000 45165 3 6
44100000 1 100000 43000 45165 3 6
44200000 1 100000 43000 45165 3 6
44300000 1 100000 43000 45165 3 6
44400000 1 100000 43000 45165 3 6
44500000 1 100000 43000 45165 3 6
44600000 1 100000 43000 45165 3 6
44700000 1 100000 43000 45165 3 6
44800000 1 100000 43000 45165 3 6
44900000 1 100000 43000 45165 3 6
45000000 1 100000 43000 45165 3 6
45100000 1 100000 43000 45165 3 6
45200000 1 100000 43000 45165 3 6
45300000 1 100000 43000 45165 3 6
45400000 1 100000 43000 45165 3 6
45500000 1 100000 43000 45165 3 6
45600000 1 100000 43000 45165 3 6
45700000 1 100000 43000 45165 3 6
45800000 1 100000 43000 45165 3 6
45900000 1 100000 43000 45165 3 6
46000000 1 3000000 1290000 1375638 80 90
46000000 1 100000 43000 45149 3 6
46100000 1 100000 43000 45149 3 6
46200000 1 100000 43000 45149 3 6
46300000 1 100000 43000 45149 3 6
46391052 1 17002 13374 13545 80 45
46391052 1 817002 664620 708390 65 14
46391052 1 2519002 497664 530232 47 65
46391052 1 1878002 1004593 1071143 95 42
46391052 1 286002 119700 127014 87 53
46400000 1 100000 43000 45163 3 6
46500000 1 100000 43000 45163 3 6
46600000 1 100000 43000 45163 3 6
46700000 1 100000 43000 45163 3 6
46777054 1 1430002 558646 595345 96 27
46777054 1 510002 266242 283355 49 2
46777054 1 1797002 1135184 1210461 97 22
46800000 1 100000 43000 45145 3 6
46900000 1 100000 43000 45145 3 6
47000000 1 100000 43000 45145 3 6
47100000 1 100000 43000 45145 3 6
47200000 1 100000 43000 45145 3 6
47300000 1 100000 43000 45145 3 6
47400000 1 100000 43000 45145 3 6
47500000 1 100000 43000 45145 3 6
47600000 1 100000 43000 45145 3 6
47700000 1 100000 43000 45145 3 6
47800000 1 100000 43000 45145 3 6
47900000 1 100000 43000 45145 3 6
48000000 1 100000 43000 45145 3 6
48100000 1 100000 43000 45145 3 6
48200000 1 100000 43000 45145 3 6
48300000 1 100000 43000 45145 3 6
48400000 1 100000 43000 45145 3 6
48500000 1 100000 43000 45145 3 6
48600000 1 100000 43000 45145 3 6
48674056 1 463002 194466 206717 24 90
48674056 1 535002 252525 268647 85 11
48700000 1 100000 43000 45167 3 6
48800000 1 100000 43000 45167 3 6
48900000 1 100000 43000 45167 3 6
49000000 1 3000000 1290000 1375586 80 90
49000000 1 100000 43000 45165 3 6
49100000 1 100000 43000 45165 3 6
49200000 1 100000 43000 45165 3 6
49300000 1 100000 43000 45165 3 6
49309058 1 2898002 1890030 2015829 86 82
49309058 1 368002 109137 115699 97 81
49400000 1 100000 43000 45149 3 6
49500000 1 100000 43000 45149 3 6
49600000 1 100000 43000 45149 3 6
49700000 1 100000 43000 45149 3 6
49777060 1 910002 378373 402977 33 11
49800000 1 100000 43000 45149 3 6
49900000 1 100000 43000 45149 3 6
50000000 1 100000 43000 45149 3 6
50100000 1 100000 43000 45149 3 6
50200000 1 100000 43000 45149 3 6
50300000 1 100000 43000 45149 3 6
50400000 1 100000 43000 45149 3 6
50500000 1 100000 43000 45149 3 6
50600000 1 100000 43000 45149 3 6
50700000 1 100000 43000 45149 3 6
50787062 1 860002 173620 184472 61 41
50787062 1 504002 251581 267714 8 69
50800000 1 100000 43000 45149 3 6
50900000 1 100000 43000 45149 3 6
51000000 1 100000 43000 45149 3 6
51100000 1 100000 43000 45149 3 6
51200000 1 100000 43000 45149 3 6
51300000 1 100000 43000 45149 3 6
51391064 1 2968002 292892 311795 48 40
51400000 1 100000 43000 45148 3 6
51500000 1 100000 43000 45148 3 6
51600000 1 100000 43000 45148 3 6
51700000 1 100000 43000 45148 3 6
51800000 1 100000 43000 45148 3 6
51900000 1 100000 43000 45148 3 6
52000000 1 3000000 1290000 1375603 80 90
52000000 1 100000 43000 45166 3 6
52100000 1 100000 43000 45166 3 6
52200000 1 100000 43000 45166 3 6
52300000 1 100000 43000 45166 3 6
52400000 1 100000 43000 45166 3 6
52500000 1 100000 43000 45166 3 6
52600000 1 100000 43000 45166 3 6
52700000 1 100000 43000 45166 3 6
52800000 1 100000 43000 45166 3 6
52900000 1 100000 43000 45166 3 6
53000000 1 100000 43000 45166 3 6
53100000 1 100000 43000 45166 3 6
53200000 1 100000 43000 45166 3 6
53300000 1 100000 43000 45166 3 6
53400000 1 100000 43000 45166 3 6
53500000 1 100000 43000 45166 3 6
53600000 1 100000 43000 45166 3 6
53700000 1 100000 43000 45166 3 6
53800000 1 100000 43000 45166 3 6
53900000 1 100000 43000 45166 3 6
54000000 1 100000 43000 45166 3 6
54100000 1 100000 43000 45166 3 6
54200000 1 100000 43000 45166 3 6
54300000 1 100000 43000 45166 3 6
54400000 1 100000 43000 45166 3 6
54459066 1 2568002 420130 447532 62 49
54459066 1 2182002 1185687 1264350 63 82
54459066 1 1542002 1453522 1550084 3 22
54500000 1 100000 43000 45148 3 6
54600000 1 100000 43000 45148 3 6
54700000 1 100000 43000 45148 3 6
54800000 1 100000 43000 45148 3 6
54900000 1 100000 43000 45148 3 6
55000000 1 3000000 1290000 1375612 80 90
55000000 1 100000 43000 45165 3 6
55100000 1 100000 43000 45165 3 6
55200000 1 100000 43000 45165 3 6
55300000 1 100000 43000 45165 3 6
55400000 1 100000 43000 45165 3 6
55500000 1 100000 43000 45165 3 6
55600000 1 100000 43000 45165 3 6
55700000 1 100000 43000 45165 3 6
55800000 1 100000 43000 45165 3 6
55900000 1 100000 43000 45165 3 6
56000000 1 100000 43000 45165 3 6
56100000 1 100000 43000 45165 3 6
56101068 1 844002 779368 830787 71 91
56200000 1 100000 43000 45161 3 6
56300000 1 100000 43000 45161 3 6
56400000 1 100000 43000 45161 3 6
56500000 1 100000 43000 45161 3 6
56600000 1 100000 43000 45161 3 6
56700000 1 100000 43000 45161 3 6
56800000 1 100000 43000 45161 3 6
56900000 1 100000 43000 45161 3 6
57000000 1 100000 43000 45161 3 6
57045070 1 2107002 1333939 1422502 89 66
57100000 1 100000 43000 45162 3 6
57200000 1 100000 43000 45162 3 6
57300000 1 100000 43000 45162 3 6
57400000 1 100000 43000 45162 3 6
57500000 1 100000 43000 45162 3 6
57600000 1 100000 43000 45162 3 6
57700000 1 100000 43000 45162 3 6
57800000 1 100000 43000 45162 3 6
57900000 1 100000 43000 45162 3 6
58000000 1 3000000 1290000 1375629 80 90
58000000 1 100000 43000 45148 3 6
58100000 1 100000 43000 45148 3 6
58200000 1 100000 43000 45148 3 6
58300000 1 100000 43000 45148 3 6
58400000 1 100000 43000 45148 3 6
58500000 1 100000 43000 45148 3 6
58600000 1 100000 43000 45148 3 6
58700000 1 100000 43000 45148 3 6
58800000 1 100000 43000 45148 3 6
58900000 1 100000 43000 45148 3 6
59000000 1 100000 43000 45148 3 6
59100000 1 100000 43000 45148 3 6
59200000 1 100000 43000 45148 3 6
59252072 1 2696002 989242 1054767 1 49
59252072 1 2656002 770386 821226 79 27
59252072 1 329002 22627 23424 94 23
59300000 1 100000 43000 45167 3 6
59400000 1 100000 43000 45167 3 6
59500000 1 100000 43000 45167 3 6
59600000 1 100000 43000 45167 3 6
59681074 1 1794002 1556982 1660485 4 1
59681074 1 2417002 732124 780422 2 49
59681074 1 806002 252797 269008 48 43
59700000 1 100000 43000 45165 3 6
59800000 1 100000 43000 45165 3 6
59900000 1 100000 43000 45165 3 6
60000000 1 100000 43000 45165 3 6
60100000 1 100000 43000 45165 3 6
60200000 1 100000 43000 45165 3 6
60300000 1 100000 43000 45165 3 6
60400000 1 100000 43000 45165 3 6
60500000 1 100000 43000 45165 3 6
60600000 1 100000 43000 45165 3 6
60700000 1 100000 43000 45165 3 6
60800000 1 100000 43000 45165 3 6
60900000 1 100000 43000 45165 3 6
/unsupported/trunk/crunch/load/hpattern.dat
0,0 → 1,2
1
500063 36000 19896 20209
/unsupported/trunk/crunch/load/tune.c
0,0 → 1,151
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
/**
------------
CVS : $Id: tune.c,v 1.1 2004-07-05 14:17:16 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:17:16 $
------------
**/
 
/*
* Copyright (C) 2001 Paolo Gai
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
#include "kernel/kern.h"
 
/*
*
* Tuning the speed of the dummy loop for the value tasks...
*
*/
 
 
#define TUNE_THRESHOLD 80
 
int tune_CPU_speed(int len)
{
int x, y, j;
TIME bef, aft;
char s[2] = { 'X', 0 };
char buf[20];
 
int load;
 
// cprintf("\n\n\n\nlen=%d ",len);
// return 1;
 
load = 100000;
 
x=10; y=10; // x and y positions
 
for (;;) {
 
 
bef = sys_gettime(NULL);
for (j=0; j<load; j++) {
s[0] = '*' + rand() % 100;
puts_xy(x,y,rand()%15+1,s);
}
aft = sys_gettime(NULL);
 
sprintf(buf,"%10d",(int)(aft-bef));
puts_xy(10,11,WHITE,buf);
//cprintf("Tuning idle cycles: load=%d , time=%d ...\n", load, (int)(aft-bef));
 
if ((int)(aft-bef-len) < 0 &&
(int)(aft-bef-len) > -TUNE_THRESHOLD)
return load;
 
load = (int)(((double)(max(0,len-TUNE_THRESHOLD/2))*(double)load)/(double)(aft-bef));
}
 
}
 
// top number of iterations
// less than 4 sec on my portable PC (pentium 2 400 Mhz) (!)
//#define TUNE_TOP 5000000
 
// 1.8 sec max
#define TUNE_TOP 2500000
 
int tune_CPU_speed2(int len)
{
int x, y, j;
TIME bef, aft;
char s[2] = { 'X', 0 };
 
int bottom, top, load;
 
bottom = 0;
load = TUNE_TOP/2;
top = TUNE_TOP;
 
 
x=10; y=10; // x and y positions
 
for (;;) {
 
 
bef = sys_gettime(NULL);
for (j=0; j<load; j++) {
s[0] = '*' + rand() % 100;
puts_xy(x,y,rand()%15+1,s);
}
aft = sys_gettime(NULL);
 
cprintf("Tuning idle cycles: load=%d , time=%d ...\n", load, (int)(aft-bef));
 
if (load > TUNE_TOP-10) {
cprintf("This PC is too fast: please increase the TUNE_TOP define!\n");
sys_end();
return load;
}
 
if ((int)(aft-bef-len) < 20 && (int)(aft-bef-len) > -20)
return load;
 
if (aft-bef > len) {
top = load;
load = (top+bottom)/2;
}
else {
bottom = load;
load = (top+bottom)/2;
}
}
 
}
/unsupported/trunk/crunch/load/new.bat
0,0 → 1,6
echo 60 > length.dat
make
make runstep1
x step2
x step3
make runstep4
/unsupported/trunk/crunch/load/dosfs.c
0,0 → 1,146
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
/**
------------
CVS : $Id: dosfs.c,v 1.1 2004-07-05 14:18:03 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:18:03 $
------------
**/
 
/*
* Copyright (C) 2001 Paolo Gai
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
#include "kernel/kern.h"
#include "string.h"
#include "ll/i386/x-dos.h"
 
/*
*
* Read/Write functions
*
*/
 
/* This is the buffer used by read_myfile */
char myfilebuf[1000];
 
/* This is the number of bytes read by read_myfile */
int myfilebuf_length;
 
/* This function read myfile.txt (up to 1000 chars) */
void read_myfile(void)
{
/* DOS file descriptor */
DOS_FILE *f;
 
/* Error code */
int err;
 
/* open the DOS file for reading (you can specify only "r" or "w") */
f = DOS_fopen("myfile.txt","r");
 
/* check for open errors */
if (!f) {
/* error!! */
err = DOS_error();
 
/* note that if you call DOS_error() here, it return 0!!! */
cprintf("Error %d opening myfile.txt...\n", err);
myfilebuf_length = 0;
return;
}
 
/* read up to 1000 chars */
myfilebuf_length = DOS_fread(&myfilebuf,1,1000,f);
 
/* check for errors */
err = DOS_error();
 
cprintf("Read %d bytes from myfile.txt...\n", myfilebuf_length);
 
if (err) {
cprintf("Error %d reading myfile.txt...\n", err);
myfilebuf_length = 0;
/* there is not return because I want to close the file! */
}
 
/* Close the file */
DOS_fclose(f);
}
 
/* This function write myfile.out (up to 30 chars) */
void write_myfile(void *arg)
{
DOS_FILE *f; /* DOS file descriptor */
int err; /* Error code */
int maxbytes;
int writtenbytes; /* number of files written */
 
/* open the DOS file for writing (you can specify only "r" or "w") */
f = DOS_fopen("myfile.out","w");
 
/* check for open errors */
if (!f) {
/* error!! */
err = DOS_error();
 
/* note that if you call DOS_error() here, it return 0!!! */
cprintf("Error %d opening myfile.out...\n", err);
return;
}
 
/* write up to 30 bytes */
if (myfilebuf_length > 30)
maxbytes = 30;
else
maxbytes = myfilebuf_length;
 
writtenbytes = DOS_fwrite(myfilebuf,1,maxbytes,f);
 
/* check for errors */
err = DOS_error();
 
cprintf("Written %d bytes into myfile.out...\n", writtenbytes);
 
if (err) {
cprintf("Error %d writing myfile.txt...\n", err);
/* there is not return because I want to close the file! */
}
 
/* Close the file */
DOS_fclose(f);
}
/unsupported/trunk/crunch/load/rrvalue.c
0,0 → 1,656
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* Massimiliano Giorgi <massy@gandalf.sssup.it>
* Luca Abeni <luca@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
/**
------------
CVS : $Id: rrvalue.c,v 1.1 2004-07-05 14:17:14 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:17:14 $
------------
 
This file contains the scheduling module RRVALUE (Round Robin)
 
Read rrvalue.h for further details.
 
**/
 
/*
* Copyright (C) 2001 Paolo Gai
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRSOFTANTY; without even the implied waRRSOFTanty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
 
#include "rrvalue.h"
#include <ll/stdio.h>
#include <ll/string.h>
#include <kernel/model.h>
#include <kernel/descr.h>
#include <kernel/var.h>
#include <kernel/func.h>
 
/*+ Status used in the level +*/
#define RRVALUE_READY MODULE_STATUS_BASE
#define RRVALUE_DELAY MODULE_STATUS_BASE+1
#define RRVALUE_IDLE MODULE_STATUS_BASE+2
 
/*+ the level redefinition for the Round Robin level +*/
typedef struct {
level_des l; /*+ the standard level descriptor +*/
 
int nact[MAX_PROC]; /*+ number of pending activations +*/
 
QQUEUE ready; /*+ the ready queue +*/
 
int slice; /*+ the level's time slice +*/
 
TIME period[MAX_PROC]; /*+ activation period +*/
 
struct timespec reactivation_time[MAX_PROC];
/*+ the time at witch the reactivation timer is post +*/
int reactivation_timer[MAX_PROC];
/*+ the recativation timer +*/
 
BYTE periodic[MAX_PROC];
 
 
struct multiboot_info *multiboot; /*+ used if the level have to insert
the main task +*/
 
BYTE models; /*+ Task Model that the Module can Handle +*/
} RRVALUE_level_des;
 
 
static char *RRVALUE_status_to_a(WORD status)
{
if (status < MODULE_STATUS_BASE)
return status_to_a(status);
 
switch (status) {
case RRVALUE_READY: return "RRVALUE_Ready";
case RRVALUE_DELAY: return "RRVALUE_Delay";
case RRVALUE_IDLE : return "RRVALUE_Idle";
default : return "RRVALUE_Unknown";
}
}
 
 
/* this is the periodic reactivation of the task... it is posted only
if the task is a periodic task */
static void RRVALUE_timer_reactivate(void *par)
{
PID p = (PID) par;
RRVALUE_level_des *lev;
// kern_printf("react");
 
lev = (RRVALUE_level_des *)level_table[proc_table[p].task_level];
 
if (proc_table[p].status == RRVALUE_IDLE) {
/* the task has finished the current activation and must be
reactivated */
proc_table[p].status = RRVALUE_READY;
qq_insertlast(p,&lev->ready);
 
event_need_reschedule();
}
else if (lev->nact[p] >= 0)
/* the task has not completed the current activation, so we save
the activation incrementing nact... */
lev->nact[p]++;
 
/* repost the event at the next period end... */
ADDUSEC2TIMESPEC(lev->period[p], &lev->reactivation_time[p]);
lev->reactivation_timer[p] = kern_event_post(&lev->reactivation_time[p],
RRVALUE_timer_reactivate,
(void *)p);
/* tracer stuff */
// trc_logevent(TRC_INTACTIVATION,&p);
}
 
 
/*+ this function is called when a task finish his delay +*/
static void RRVALUE_timer_delay(void *par)
{
PID p = (PID) par;
RRVALUE_level_des *lev;
 
lev = (RRVALUE_level_des *)level_table[proc_table[p].task_level];
 
proc_table[p].status = RRVALUE_READY;
qq_insertlast(p,&lev->ready);
 
proc_table[p].delay_timer = NIL; /* Paranoia */
 
// kern_printf(" DELAY TIMER %d ", p);
 
event_need_reschedule();
}
 
 
static int RRVALUE_level_accept_task_model(LEVEL l, TASK_MODEL *m)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
if ((m->pclass == NRT_PCLASS || m->pclass == (NRT_PCLASS | l)) && lev->models & RRVALUE_ONLY_NRT)
return 0;
else if ((m->pclass == SOFT_PCLASS || m->pclass == (SOFT_PCLASS | l)) && lev->models & RRVALUE_ONLY_SOFT)
return 0;
else if ((m->pclass == HARD_PCLASS || m->pclass == (HARD_PCLASS | l)) && lev->models & RRVALUE_ONLY_HARD)
return 0;
else if ((m->pclass == VALUE_PCLASS || m->pclass == (VALUE_PCLASS | l)) && lev->models & RRVALUE_ONLY_VALUE)
return 0;
else
return -1;
}
 
static int RRVALUE_level_accept_guest_model(LEVEL l, TASK_MODEL *m)
{
return -1;
}
 
static void RRVALUE_level_status(LEVEL l)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
PID p = qq_queryfirst(&lev->ready);
 
kern_printf("Slice: %d \n", lev->slice);
 
while (p != NIL) {
kern_printf("Pid: %d\t Name: %20s Status: %s\n",p,proc_table[p].name,
RRVALUE_status_to_a(proc_table[p].status));
p = proc_table[p].next;
}
 
for (p=0; p<MAX_PROC; p++)
if (proc_table[p].task_level == l && proc_table[p].status != RRVALUE_READY
&& proc_table[p].status != FREE )
kern_printf("Pid: %d\t Name: %20s Status: %s\n",p,proc_table[p].name,
RRVALUE_status_to_a(proc_table[p].status));
 
}
 
 
/* This is not efficient but very fair :-)
The need of all this stuff is because if a task execute a long time
due to (shadow!) priority inheritance, then the task shall go to the
tail of the queue many times... */
static PID RRVALUE_level_scheduler(LEVEL l)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
PID p;
 
for (;;) {
p = qq_queryfirst(&lev->ready);
if (p == -1)
return p;
//{kern_printf("(s%d)",p); return p;}
 
// kern_printf("(p=%d l=%d avail=%d wcet =%d)\n",p,l,proc_table[p].avail_time, proc_table[p].wcet);
if (proc_table[p].avail_time <= 0) {
proc_table[p].avail_time += proc_table[p].wcet;
qq_extract(p,&lev->ready);
qq_insertlast(p,&lev->ready);
}
else
//{kern_printf("(s%d)",p); return p;}
return p;
 
}
}
 
static int RRVALUE_level_guarantee(LEVEL l, bandwidth_t *freebandwidth)
{
/* the RRVALUE level always guarantee... the function is defined because
there can be an aperiodic server at a level with less priority than
the RRVALUE that need guarantee (e.g., a TBS server) */
return 1;
}
 
 
static int RRVALUE_task_create(LEVEL l, PID p, TASK_MODEL *m)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
// kern_printf("create %d mod %d\n",p,m->pclass);
/* the task state is set at SLEEP by the general task_create
the only thing to set remains the capacity stuffs that are set
to the values passed in the model... */
 
/* I used the wcet field because using wcet can account if a task
consume more than the timeslice... */
 
if (lev->models & RRVALUE_ONLY_NRT &&
(m->pclass == NRT_PCLASS || m->pclass == (NRT_PCLASS | l))) {
NRT_TASK_MODEL *nrt = (NRT_TASK_MODEL *)m;
 
// kern_printf("nrt");
if (nrt->slice) {
proc_table[p].avail_time = nrt->slice;
proc_table[p].wcet = nrt->slice;
}
else {
proc_table[p].avail_time = lev->slice;
proc_table[p].wcet = lev->slice;
}
proc_table[p].control |= CONTROL_CAP;
if (nrt->arrivals == SAVE_ARRIVALS)
lev->nact[p] = 0;
else
lev->nact[p] = -1;
 
lev->periodic[p] = 0;
lev->period[p] = 0;
}
else if (lev->models & RRVALUE_ONLY_SOFT &&
(m->pclass == SOFT_PCLASS || m->pclass == (SOFT_PCLASS | l))) {
SOFT_TASK_MODEL *soft = (SOFT_TASK_MODEL *)m;
// kern_printf("soft");
proc_table[p].avail_time = lev->slice;
proc_table[p].wcet = lev->slice;
proc_table[p].control |= CONTROL_CAP;
if (soft->arrivals == SAVE_ARRIVALS)
lev->nact[p] = 0;
else
lev->nact[p] = -1;
 
if (soft->periodicity == PERIODIC) {
lev->periodic[p] = 1;
lev->period[p] = soft->period;
}
else {
lev->periodic[p] = 0;
lev->period[p] = 0;
}
}
else if (lev->models & RRVALUE_ONLY_HARD &&
(m->pclass == HARD_PCLASS || m->pclass == (HARD_PCLASS | l))) {
HARD_TASK_MODEL *hard = (HARD_TASK_MODEL *)m;
// kern_printf("hard");
proc_table[p].avail_time = lev->slice;
proc_table[p].wcet = lev->slice;
proc_table[p].control |= CONTROL_CAP;
lev->nact[p] = 0;
 
if (hard->periodicity == PERIODIC) {
lev->periodic[p] = 1;
lev->period[p] = hard->mit;
}
else {
lev->periodic[p] = 0;
lev->period[p] = 0;
}
}
 
if (lev->models & RRVALUE_ONLY_VALUE &&
(m->pclass == VALUE_PCLASS || m->pclass == (VALUE_PCLASS | l))) {
VALUE_TASK_MODEL *nrt = (NRT_TASK_MODEL *)m;
 
proc_table[p].avail_time = lev->slice;
proc_table[p].wcet = lev->slice;
proc_table[p].control |= CONTROL_CAP;
lev->nact[p] = -1;
lev->periodic[p] = 0;
lev->period[p] = 0;
}
 
return 0; /* OK */
}
 
static void RRVALUE_task_detach(LEVEL l, PID p)
{
/* the RRVALUE level doesn't introduce any new field in the TASK_MODEL
so, all detach stuffs are done by the task_create
The task state is set at FREE by the general task_create */
}
 
static int RRVALUE_task_eligible(LEVEL l, PID p)
{
return 0; /* if the task p is chosen, it is always eligible */
}
 
#ifdef __TEST1__
extern int testactive;
extern struct timespec s_stime[];
extern TIME s_curr[];
extern TIME s_PID[];
extern int useds;
#endif
 
static void RRVALUE_task_dispatch(LEVEL l, PID p, int nostop)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
//static int p2count=0;
 
/* the task state is set EXE by the scheduler()
we extract the task from the ready queue
NB: we can't assume that p is the first task in the queue!!! */
qq_extract(p, &lev->ready);
}
 
static void RRVALUE_task_epilogue(LEVEL l, PID p)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
/* check if the slice is finished and insert the task in the coRRVALUEect
qqueue position */
if (proc_table[p].avail_time <= 0) {
proc_table[p].avail_time += proc_table[p].wcet;
qq_insertlast(p,&lev->ready);
}
else
/* curr is >0, so the running task have to run for another cuRRVALUE usec */
qq_insertfirst(p,&lev->ready);
 
proc_table[p].status = RRVALUE_READY;
}
 
static void RRVALUE_task_activate(LEVEL l, PID p)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
/* Test if we are trying to activate a non sleeping task */
/* save activation (only if needed... */
if (proc_table[p].status != SLEEP && proc_table[p].status != RRVALUE_IDLE) {
if (lev->nact[p] != -1)
lev->nact[p]++;
return;
}
 
ll_gettime(TIME_EXACT, &proc_table[p].request_time);
 
/* Insert task in the coRRVALUEect position */
proc_table[p].status = RRVALUE_READY;
qq_insertlast(p,&lev->ready);
 
/* Set the reactivation timer */
if (lev->periodic[p])
{
TIMESPEC_ASSIGN(&lev->reactivation_time[p], &proc_table[p].request_time);
ADDUSEC2TIMESPEC(lev->period[p], &lev->reactivation_time[p]);
// TIMESPEC_ASSIGN(&lev->reactivation_time[p], &lev->cbs_dline[p]);
lev->reactivation_timer[p] = kern_event_post(&lev->reactivation_time[p],
RRVALUE_timer_reactivate,
(void *)p);
}
}
 
static void RRVALUE_task_insert(LEVEL l, PID p)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
/* Similar to RRVALUE_task_activate, but we don't check in what state
the task is and we don't set the request_time */
 
/* Insert task in the coRRVALUEect position */
proc_table[p].status = RRVALUE_READY;
qq_insertlast(p,&lev->ready);
}
 
static void RRVALUE_task_extract(LEVEL l, PID p)
{
/* Extract the running task from the level
. we have already extract it from the ready queue at the dispatch time.
. the capacity event have to be removed by the generic kernel
. the wcet don't need modification...
. the state of the task is set by the calling function
 
So, we do nothing!!!
*/
}
 
static void RRVALUE_task_endcycle(LEVEL l, PID p)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
if (lev->nact[p] > 0) {
/* continue!!!! */
ll_gettime(TIME_EXACT, &proc_table[p].request_time);
lev->nact[p]--;
// qq_insertlast(p,&lev->ready);
qq_insertfirst(p,&lev->ready);
proc_table[p].status = RRVALUE_READY;
}
else
proc_table[p].status = RRVALUE_IDLE;
}
 
static void RRVALUE_task_end(LEVEL l, PID p)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
lev->nact[p] = -1;
 
/* we delete the reactivation timer */
if (lev->periodic[p]) {
event_delete(lev->reactivation_timer[p]);
lev->reactivation_timer[p] = -1;
}
 
/* then, we insert the task in the free queue */
proc_table[p].status = FREE;
q_insert(p,&freedesc);
}
 
static void RRVALUE_task_sleep(LEVEL l, PID p)
{
RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
 
if (lev->nact[p] >= 0) lev->nact[p] = 0;
 
/* we delete the reactivation timer */
if (lev->periodic[p]) {
event_delete(lev->reactivation_timer[p]);
lev->reactivation_timer[p] = -1;
}
 
proc_table[p].status = SLEEP;
}
 
static void RRVALUE_task_delay(LEVEL l, PID p, TIME usdelay)
{
// RRVALUE_level_des *lev = (RRVALUE_level_des *)(level_table[l]);
struct timespec wakeuptime;
 
/* equal to RRVALUE_task_endcycle */
proc_table[p].status = RRVALUE_DELAY;
 
/* we need to delete this event if we kill the task while it is sleeping */
ll_gettime(TIME_EXACT,&wakeuptime);
ADDUSEC2TIMESPEC(usdelay,&wakeuptime);
proc_table[p].delay_timer = kern_event_post(&wakeuptime,
RRVALUE_timer_delay,
(void *)p);
}
 
 
static int RRVALUE_guest_create(LEVEL l, PID p, TASK_MODEL *m)
{ kern_raise(XUNVALID_GUEST,exec_shadow); return 0; }
 
static void RRVALUE_guest_detach(LEVEL l, PID p)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_dispatch(LEVEL l, PID p, int nostop)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_epilogue(LEVEL l, PID p)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_activate(LEVEL l, PID p)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_insert(LEVEL l, PID p)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_extract(LEVEL l, PID p)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_endcycle(LEVEL l, PID p)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_end(LEVEL l, PID p)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_sleep(LEVEL l, PID p)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
static void RRVALUE_guest_delay(LEVEL l, PID p,DWORD tickdelay)
{ kern_raise(XUNVALID_GUEST,exec_shadow); }
 
 
 
 
/* Registration functions */
 
/*+ This init function install the "main" task +*/
static void RRVALUE_call_main(void *l)
{
LEVEL lev;
PID p;
NRT_TASK_MODEL m;
void *mb;
 
lev = (LEVEL)l;
 
nrt_task_default_model(m);
nrt_task_def_level(m,lev); /* with this we are sure that the task aRRVALUEives
to the coRRVALUEect level */
 
mb = ((RRVALUE_level_des *)level_table[lev])->multiboot;
nrt_task_def_arg(m,mb);
nrt_task_def_usemath(m);
nrt_task_def_nokill(m);
nrt_task_def_ctrl_jet(m);
 
p = task_create("Main", __init__, (TASK_MODEL *)&m, NULL);
 
if (p == NIL)
printk("\nPanic!!! can't create main task...\n");
 
RRVALUE_task_activate(lev,p);
}
 
 
/*+ Registration function:
TIME slice the slice for the Round Robin queue
int createmain 1 if the level creates the main task 0 otherwise
struct multiboot_info *mb used if createmain specified +*/
void RRVALUE_register_level(TIME slice,
int createmain,
struct multiboot_info *mb,
BYTE models)
{
LEVEL l; /* the level that we register */
RRVALUE_level_des *lev; /* for readableness only */
PID i;
 
printk("RRVALUE_register_level\n");
 
/* request an entry in the level_table */
l = level_alloc_descriptor();
 
/* alloc the space needed for the RRVALUE_level_des */
lev = (RRVALUE_level_des *)kern_alloc(sizeof(RRVALUE_level_des));
 
printk(" lev=%d\n",(int)lev);
 
/* update the level_table with the new entry */
level_table[l] = (level_des *)lev;
 
/* fill the standard descriptor */
strncpy(lev->l.level_name, RRVALUE_LEVELNAME, MAX_LEVELNAME);
lev->l.level_code = RRVALUE_LEVEL_CODE;
lev->l.level_version = RRVALUE_LEVEL_VERSION;
 
lev->l.level_accept_task_model = RRVALUE_level_accept_task_model;
lev->l.level_accept_guest_model = RRVALUE_level_accept_guest_model;
lev->l.level_status = RRVALUE_level_status;
lev->l.level_scheduler = RRVALUE_level_scheduler;
lev->l.level_guarantee = RRVALUE_level_guarantee;
 
lev->l.task_create = RRVALUE_task_create;
lev->l.task_detach = RRVALUE_task_detach;
lev->l.task_eligible = RRVALUE_task_eligible;
lev->l.task_dispatch = RRVALUE_task_dispatch;
lev->l.task_epilogue = RRVALUE_task_epilogue;
lev->l.task_activate = RRVALUE_task_activate;
lev->l.task_insert = RRVALUE_task_insert;
lev->l.task_extract = RRVALUE_task_extract;
lev->l.task_endcycle = RRVALUE_task_endcycle;
lev->l.task_end = RRVALUE_task_end;
lev->l.task_sleep = RRVALUE_task_sleep;
lev->l.task_delay = RRVALUE_task_delay;
 
lev->l.guest_create = RRVALUE_guest_create;
lev->l.guest_detach = RRVALUE_guest_detach;
lev->l.guest_dispatch = RRVALUE_guest_dispatch;
lev->l.guest_epilogue = RRVALUE_guest_epilogue;
lev->l.guest_activate = RRVALUE_guest_activate;
lev->l.guest_insert = RRVALUE_guest_insert;
lev->l.guest_extract = RRVALUE_guest_extract;
lev->l.guest_endcycle = RRVALUE_guest_endcycle;
lev->l.guest_end = RRVALUE_guest_end;
lev->l.guest_sleep = RRVALUE_guest_sleep;
lev->l.guest_delay = RRVALUE_guest_delay;
 
/* fill the RRVALUE descriptor part */
for (i = 0; i < MAX_PROC; i++) {
lev->nact[i] = -1;
NULL_TIMESPEC(&lev->reactivation_time[i]);
lev->reactivation_timer[i] = -1;
lev->periodic[i] = 0;
lev->period[i] = 0;
}
 
qq_init(&lev->ready);
 
if (slice < RRVALUE_MINIMUM_SLICE) slice = RRVALUE_MINIMUM_SLICE;
if (slice > RRVALUE_MAXIMUM_SLICE) slice = RRVALUE_MAXIMUM_SLICE;
lev->slice = slice;
 
lev->multiboot = mb;
 
lev->models = models;
 
if (createmain)
sys_atrunlevel(RRVALUE_call_main,(void *) l, RUNLEVEL_INIT);
}
 
 
 
 
/unsupported/trunk/crunch/load/tune.h
0,0 → 1,58
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
/**
------------
CVS : $Id: tune.h,v 1.1 2004-07-05 14:17:16 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:17:16 $
------------
**/
 
/*
* Copyright (C) 2001 Paolo Gai
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
#ifndef __VALUE_VALUE_H__
#define __VALUE_VALUE_H__
 
/*
* This function simply tune a for loop in a way that it will take
*/
int tune_CPU_speed(int len);
 
 
 
#endif
/unsupported/trunk/crunch/load/rrvalue.h
0,0 → 1,128
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* Massimiliano Giorgi <massy@gandalf.sssup.it>
* Luca Abeni <luca@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
 
/**
------------
CVS : $Id: rrvalue.h,v 1.1 2004-07-05 14:17:15 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:17:15 $
------------
 
This file contains the scheduling module RRVALUE (Round Robin for
Hard & Soft & Value Model)
 
Title:
RRVALUE (Round Robin) version 2
 
Task Models Accepted:
NRT_TASK_MODEL - Non-Realtime Tasks
weight field is ignored
slice field is used to set the slice of a task, if it is !=0
policy field is ignored
inherit field is ignored
SOFT_TASK_MODEL - Soft tasks
only the periodicity and the met are used.
HARD_TASK_MODEL - Hard tasks
only the periodicity and the period are used.
VALUE_TASK_MODEL - Value tasks
nothing is used yet
 
 
Description:
See the RRSOFT Description.
It also accepts VALUE_TASK Models
 
Exceptions raised:
XUNVALID_GUEST
This level doesn't support guests. When a guest operation
is called, the exception is raised.
 
Restrictions & special features:
- if specified, it creates at init time a task,
called "Main", attached to the function __init__().
- There must be only one module in the system that creates a task
attached to the function __init__().
- The level tries to guarantee that a task uses a "full" timeslice
before going to the queue tail. "full" means that a task can execute
a maximum time of slice+sys_tick due to the approx. done by
the Virtual Machine. If a task execute more time than the slice,
the next time it execute less...
 
**/
 
/*
* Copyright (C) 2001 Paolo Gai
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
 
#ifndef __RRVALUE_H__
#define __RRVALUE_H__
 
#include <ll/ll.h>
#include <kernel/config.h>
#include <sys/types.h>
#include <kernel/types.h>
#include <modules/codes.h>
 
extern TASK __init__(void *arg);
 
 
 
/*+ Const: +*/
#define RRVALUE_MINIMUM_SLICE 1000 /*+ Minimum Timeslice +*/
#define RRVALUE_MAXIMUM_SLICE 500000 /*+ Maximum Timeslice +*/
 
#define RRVALUE_MAIN_YES 1 /*+ The level creates the main +*/
#define RRVALUE_MAIN_NO 0 /*+ The level does'nt create the main +*/
 
#define RRVALUE_ONLY_HARD 1 /*+ The level accepts only Hard Tasks +*/
#define RRVALUE_ONLY_SOFT 2 /*+ The level accepts only Soft Tasks +*/
#define RRVALUE_ONLY_NRT 4 /*+ The level accepts only NRT Tasks +*/
#define RRVALUE_ONLY_VALUE 8 /*+ The level accepts only Value Tasks+*/
 
 
/*+ Registration function:
TIME slice the slice for the Round Robin queue
int createmain 1 if the level creates the main task 0 otherwise
struct multiboot_info *mb used if createmain specified +*/
void RRVALUE_register_level(TIME slice,
int createmain,
struct multiboot_info *mb,
BYTE models);
 
#endif
/unsupported/trunk/crunch/load/shape.dat
0,0 → 1,3
2
0 2448131304
60 0
/unsupported/trunk/crunch/load/vpattern.dat
0,0 → 1,708
707
1000000 3000000 1290000 1375649 80 90
1000000 100000 43000 45150 3 6
1000000 1500002 1481283 1579713 18 30
1000000 2921002 1208851 1289115 80 65
1000000 2358002 1004771 1071328 23 24
1100000 100000 43000 45147 3 6
1200000 100000 43000 45147 3 6
1300000 100000 43000 45147 3 6
1400000 100000 43000 45147 3 6
1500000 100000 43000 45147 3 6
1600000 100000 43000 45147 3 6
1700000 100000 43000 45147 3 6
1800000 100000 43000 45147 3 6
1900000 100000 43000 45147 3 6
2000000 100000 43000 45147 3 6
2100000 100000 43000 45147 3 6
2200000 100000 43000 45147 3 6
2300000 100000 43000 45147 3 6
2400000 100000 43000 45147 3 6
2500000 100000 43000 45147 3 6
2600000 100000 43000 45147 3 6
2700000 100000 43000 45147 3 6
2800000 100000 43000 45147 3 6
2900000 100000 43000 45147 3 6
3000000 100000 43000 45147 3 6
3100000 100000 43000 45147 3 6
3200000 100000 43000 45147 3 6
3300000 100000 43000 45147 3 6
3400000 100000 43000 45147 3 6
3458002 943002 438430 467037 13 29
3458002 319002 66758 70519 79 40
3458002 1971002 1811919 1932461 58 100
3500000 100000 43000 45162 3 6
3600000 100000 43000 45162 3 6
3700000 100000 43000 45162 3 6
3800000 100000 43000 45162 3 6
3900000 100000 43000 45162 3 6
4000000 3000000 1290000 1375618 80 90
4000000 100000 43000 45162 3 6
4100000 100000 43000 45162 3 6
4200000 100000 43000 45162 3 6
4300000 100000 43000 45162 3 6
4400000 100000 43000 45162 3 6
4500000 100000 43000 45162 3 6
4600000 100000 43000 45162 3 6
4700000 100000 43000 45162 3 6
4800000 100000 43000 45162 3 6
4900000 100000 43000 45162 3 6
5000000 100000 43000 45162 3 6
5100000 100000 43000 45162 3 6
5200000 100000 43000 45162 3 6
5300000 100000 43000 45162 3 6
5400000 100000 43000 45162 3 6
5500000 100000 43000 45162 3 6
5529004 280002 51947 54714 61 99
5600000 100000 43000 45150 3 6
5700000 100000 43000 45150 3 6
5800000 100000 43000 45150 3 6
5900000 100000 43000 45150 3 6
5909006 783002 701100 747318 23 94
5909006 221002 28449 29636 42 93
5909006 2986002 135321 143613 62 5
5909006 2192002 1202931 1282748 85 33
6000000 100000 43000 45164 3 6
6100000 100000 43000 45164 3 6
6200000 100000 43000 45164 3 6
6300000 100000 43000 45164 3 6
6400000 100000 43000 45164 3 6
6500000 100000 43000 45164 3 6
6600000 100000 43000 45164 3 6
6700000 100000 43000 45164 3 6
6800000 100000 43000 45164 3 6
6900000 100000 43000 45164 3 6
7000000 3000000 1290000 1375645 80 90
7000000 100000 43000 45151 3 6
7100000 100000 43000 45151 3 6
7200000 100000 43000 45151 3 6
7300000 100000 43000 45151 3 6
7400000 100000 43000 45151 3 6
7500000 100000 43000 45151 3 6
7600000 100000 43000 45151 3 6
7700000 100000 43000 45151 3 6
7800000 100000 43000 45151 3 6
7900000 100000 43000 45151 3 6
8000000 100000 43000 45151 3 6
8100000 100000 43000 45151 3 6
8200000 100000 43000 45151 3 6
8201008 2675002 2422758 2584205 26 11
8201008 1692002 1000061 1066298 76 36
8300000 100000 43000 45165 3 6
8400000 100000 43000 45165 3 6
8500000 100000 43000 45165 3 6
8600000 100000 43000 45165 3 6
8700000 100000 43000 45165 3 6
8800000 100000 43000 45165 3 6
8900000 100000 43000 45165 3 6
9000000 100000 43000 45165 3 6
9100000 100000 43000 45165 3 6
9200000 100000 43000 45165 3 6
9300000 100000 43000 45165 3 6
9400000 100000 43000 45165 3 6
9500000 100000 43000 45165 3 6
9600000 100000 43000 45165 3 6
9700000 100000 43000 45165 3 6
9800000 100000 43000 45165 3 6
9900000 100000 43000 45165 3 6
9993010 1747002 1102547 1175651 42 24
9993010 1500002 259938 276646 35 10
9993010 2679002 778228 829611 16 25
10000000 3000000 1290000 1375626 80 90
10000000 100000 43000 45149 3 6
10100000 100000 43000 45149 3 6
10200000 100000 43000 45149 3 6
10300000 100000 43000 45149 3 6
10400000 100000 43000 45149 3 6
10500000 100000 43000 45149 3 6
10600000 100000 43000 45149 3 6
10700000 100000 43000 45149 3 6
10800000 100000 43000 45149 3 6
10900000 100000 43000 45149 3 6
11000000 100000 43000 45149 3 6
11100000 100000 43000 45149 3 6
11200000 100000 43000 45149 3 6
11300000 100000 43000 45149 3 6
11400000 100000 43000 45149 3 6
11500000 100000 43000 45149 3 6
11600000 100000 43000 45149 3 6
11700000 100000 43000 45149 3 6
11800000 100000 43000 45149 3 6
11900000 100000 43000 45149 3 6
12000000 100000 43000 45149 3 6
12100000 100000 43000 45149 3 6
12200000 100000 43000 45149 3 6
12300000 100000 43000 45149 3 6
12400000 100000 43000 45149 3 6
12500000 100000 43000 45149 3 6
12600000 100000 43000 45149 3 6
12700000 100000 43000 45149 3 6
12772012 1857002 1424469 1519060 86 68
12800000 100000 43000 45170 3 6
12900000 100000 43000 45170 3 6
13000000 3000000 1290000 1375641 80 90
13000000 100000 43000 45148 3 6
13100000 100000 43000 45148 3 6
13200000 100000 43000 45148 3 6
13300000 100000 43000 45148 3 6
13400000 100000 43000 45148 3 6
13500000 100000 43000 45148 3 6
13600000 100000 43000 45148 3 6
13700000 100000 43000 45148 3 6
13800000 100000 43000 45148 3 6
13900000 100000 43000 45148 3 6
14000000 100000 43000 45148 3 6
14100000 100000 43000 45148 3 6
14200000 100000 43000 45148 3 6
14300000 100000 43000 45148 3 6
14400000 100000 43000 45148 3 6
14500000 100000 43000 45148 3 6
14600000 100000 43000 45148 3 6
14700000 100000 43000 45148 3 6
14729014 1549002 794849 847343 90 5
14729014 2566002 692657 738320 99 77
14729014 1625002 1528924 1630583 32 67
14800000 100000 43000 45150 3 6
14900000 100000 43000 45150 3 6
15000000 100000 43000 45150 3 6
15100000 100000 43000 45150 3 6
15200000 100000 43000 45150 3 6
15300000 100000 43000 45150 3 6
15400000 100000 43000 45150 3 6
15500000 100000 43000 45150 3 6
15600000 100000 43000 45150 3 6
15700000 100000 43000 45150 3 6
15800000 100000 43000 45150 3 6
15900000 100000 43000 45150 3 6
16000000 3000000 1290000 1375627 80 90
16000000 100000 43000 45161 3 6
16100000 100000 43000 45161 3 6
16200000 100000 43000 45161 3 6
16300000 100000 43000 45161 3 6
16400000 100000 43000 45161 3 6
16454016 867002 65308 68968 66 27
16500000 100000 43000 45159 3 6
16600000 100000 43000 45159 3 6
16700000 100000 43000 45159 3 6
16800000 100000 43000 45159 3 6
16900000 100000 43000 45159 3 6
17000000 100000 43000 45159 3 6
17100000 100000 43000 45159 3 6
17200000 100000 43000 45159 3 6
17300000 100000 43000 45159 3 6
17400000 100000 43000 45159 3 6
17421018 2428002 993501 1059309 19 4
17500000 100000 43000 45150 3 6
17600000 100000 43000 45150 3 6
17700000 100000 43000 45150 3 6
17800000 100000 43000 45150 3 6
17900000 100000 43000 45150 3 6
18000000 100000 43000 45150 3 6
18100000 100000 43000 45150 3 6
18200000 100000 43000 45150 3 6
18300000 100000 43000 45150 3 6
18400000 100000 43000 45150 3 6
18500000 100000 43000 45150 3 6
18600000 100000 43000 45150 3 6
18700000 100000 43000 45150 3 6
18800000 100000 43000 45150 3 6
18900000 100000 43000 45150 3 6
19000000 3000000 1290000 1375649 80 90
19000000 100000 43000 45151 3 6
19100000 100000 43000 45151 3 6
19200000 100000 43000 45151 3 6
19300000 100000 43000 45151 3 6
19400000 100000 43000 45151 3 6
19500000 100000 43000 45151 3 6
19600000 100000 43000 45151 3 6
19700000 100000 43000 45151 3 6
19800000 100000 43000 45151 3 6
19900000 100000 43000 45151 3 6
19949020 1658002 611967 652213 45 83
20000000 100000 43000 45149 3 6
20100000 100000 43000 45149 3 6
20200000 100000 43000 45149 3 6
20300000 100000 43000 45149 3 6
20400000 100000 43000 45149 3 6
20500000 100000 43000 45149 3 6
20600000 100000 43000 45149 3 6
20700000 100000 43000 45149 3 6
20800000 100000 43000 45149 3 6
20900000 100000 43000 45149 3 6
21000000 100000 43000 45149 3 6
21100000 100000 43000 45149 3 6
21200000 100000 43000 45149 3 6
21300000 100000 43000 45149 3 6
21400000 100000 43000 45149 3 6
21500000 100000 43000 45149 3 6
21600000 100000 43000 45149 3 6
21700000 100000 43000 45149 3 6
21707022 2180002 406353 432805 65 32
21707022 1721002 1085102 1157051 34 19
21707022 1813002 117495 124617 24 19
21707022 230002 206519 219637 92 41
21707022 301002 153832 163425 62 44
21707022 869002 617579 658216 35 26
21707022 2803002 275935 293732 9 5
21800000 100000 43000 45148 3 6
21900000 100000 43000 45148 3 6
22000000 3000000 1290000 1375583 80 90
22000000 100000 43000 45168 3 6
22100000 100000 43000 45168 3 6
22200000 100000 43000 45168 3 6
22300000 100000 43000 45168 3 6
22400000 100000 43000 45168 3 6
22500000 100000 43000 45168 3 6
22600000 100000 43000 45168 3 6
22700000 100000 43000 45168 3 6
22800000 100000 43000 45168 3 6
22900000 100000 43000 45168 3 6
23000000 100000 43000 45168 3 6
23100000 100000 43000 45168 3 6
23200000 100000 43000 45168 3 6
23300000 100000 43000 45168 3 6
23400000 100000 43000 45168 3 6
23500000 100000 43000 45168 3 6
23600000 100000 43000 45168 3 6
23700000 100000 43000 45168 3 6
23800000 100000 43000 45168 3 6
23900000 100000 43000 45168 3 6
24000000 100000 43000 45168 3 6
24100000 100000 43000 45168 3 6
24200000 100000 43000 45168 3 6
24300000 100000 43000 45168 3 6
24400000 100000 43000 45168 3 6
24500000 100000 43000 45168 3 6
24600000 100000 43000 45168 3 6
24610024 66002 12309 12414 33 57
24610024 1796002 1780401 1898852 75 3
24610024 2972002 614719 655172 15 35
24610024 739002 421644 449125 29 75
24700000 100000 43000 45165 3 6
24800000 100000 43000 45165 3 6
24900000 100000 43000 45165 3 6
25000000 3000000 1290000 1375654 80 90
25000000 100000 43000 45164 3 6
25100000 100000 43000 45164 3 6
25200000 100000 43000 45164 3 6
25300000 100000 43000 45164 3 6
25400000 100000 43000 45164 3 6
25449026 811002 124146 131715 76 89
25449026 2980002 2740975 2923733 18 37
25449026 2602002 2283400 2435523 32 76
25449026 2446002 1728002 1842967 37 36
25500000 100000 43000 45151 3 6
25600000 100000 43000 45151 3 6
25700000 100000 43000 45151 3 6
25800000 100000 43000 45151 3 6
25900000 100000 43000 45151 3 6
26000000 100000 43000 45151 3 6
26100000 100000 43000 45151 3 6
26200000 100000 43000 45151 3 6
26300000 100000 43000 45151 3 6
26400000 100000 43000 45151 3 6
26500000 100000 43000 45151 3 6
26600000 100000 43000 45151 3 6
26700000 100000 43000 45151 3 6
26800000 100000 43000 45151 3 6
26900000 100000 43000 45151 3 6
27000000 100000 43000 45151 3 6
27100000 100000 43000 45151 3 6
27200000 100000 43000 45151 3 6
27300000 100000 43000 45151 3 6
27400000 100000 43000 45151 3 6
27500000 100000 43000 45151 3 6
27600000 100000 43000 45151 3 6
27700000 100000 43000 45151 3 6
27800000 100000 43000 45151 3 6
27900000 100000 43000 45151 3 6
27995028 1692002 1269001 1353185 59 87
27995028 675002 560238 597010 58 28
28000000 3000000 1290000 1375636 80 90
28000000 100000 43000 45149 3 6
28100000 100000 43000 45149 3 6
28200000 100000 43000 45149 3 6
28300000 100000 43000 45149 3 6
28400000 100000 43000 45149 3 6
28500000 100000 43000 45149 3 6
28600000 100000 43000 45149 3 6
28700000 100000 43000 45149 3 6
28770030 1445002 533591 568568 42 94
28770030 1684002 283701 301893 70 39
28770030 10002 7440 7219 60 38
28800000 100000 43000 45162 3 6
28880032 857002 416099 443225 36 0
28900000 100000 43000 45164 3 6
29000000 100000 43000 45164 3 6
29100000 100000 43000 45164 3 6
29200000 100000 43000 45164 3 6
29300000 100000 43000 45164 3 6
29400000 100000 43000 45164 3 6
29500000 100000 43000 45164 3 6
29600000 100000 43000 45164 3 6
29700000 100000 43000 45164 3 6
29800000 100000 43000 45164 3 6
29837034 203002 75765 80101 22 96
29900000 100000 43000 45165 3 6
30000000 100000 43000 45165 3 6
30100000 100000 43000 45165 3 6
30140036 1520002 504059 537075 68 8
30140036 1742002 169640 180299 28 0
30140036 2164002 583449 621753 20 20
30200000 100000 43000 45160 3 6
30300000 100000 43000 45160 3 6
30400000 100000 43000 45160 3 6
30500000 100000 43000 45160 3 6
30600000 100000 43000 45160 3 6
30700000 100000 43000 45160 3 6
30800000 100000 43000 45160 3 6
30900000 100000 43000 45160 3 6
31000000 3000000 1290000 1375655 80 90
31000000 100000 43000 45146 3 6
31100000 100000 43000 45146 3 6
31200000 100000 43000 45146 3 6
31300000 100000 43000 45146 3 6
31400000 100000 43000 45146 3 6
31500000 100000 43000 45146 3 6
31600000 100000 43000 45146 3 6
31700000 100000 43000 45146 3 6
31800000 100000 43000 45146 3 6
31900000 100000 43000 45146 3 6
32000000 100000 43000 45146 3 6
32100000 100000 43000 45146 3 6
32200000 100000 43000 45146 3 6
32300000 100000 43000 45146 3 6
32400000 100000 43000 45146 3 6
32404038 1406002 1078611 1150106 82 76
32500000 100000 43000 45147 3 6
32600000 100000 43000 45147 3 6
32700000 100000 43000 45147 3 6
32800000 100000 43000 45147 3 6
32900000 100000 43000 45147 3 6
33000000 100000 43000 45147 3 6
33100000 100000 43000 45147 3 6
33200000 100000 43000 45147 3 6
33300000 100000 43000 45147 3 6
33400000 100000 43000 45147 3 6
33500000 100000 43000 45147 3 6
33600000 100000 43000 45147 3 6
33700000 100000 43000 45147 3 6
33800000 100000 43000 45147 3 6
33900000 100000 43000 45147 3 6
33910040 2480002 371141 395283 70 40
34000000 3000000 1290000 1375595 80 90
34000000 100000 43000 45170 3 6
34100000 100000 43000 45170 3 6
34200000 100000 43000 45170 3 6
34300000 100000 43000 45170 3 6
34400000 100000 43000 45170 3 6
34500000 100000 43000 45170 3 6
34600000 100000 43000 45170 3 6
34700000 100000 43000 45170 3 6
34800000 100000 43000 45170 3 6
34900000 100000 43000 45170 3 6
35000000 100000 43000 45170 3 6
35100000 100000 43000 45170 3 6
35200000 100000 43000 45170 3 6
35300000 100000 43000 45170 3 6
35400000 100000 43000 45170 3 6
35500000 100000 43000 45170 3 6
35600000 100000 43000 45170 3 6
35700000 100000 43000 45170 3 6
35800000 100000 43000 45170 3 6
35900000 100000 43000 45170 3 6
36000000 100000 43000 45170 3 6
36100000 100000 43000 45170 3 6
36200000 100000 43000 45170 3 6
36300000 100000 43000 45170 3 6
36400000 100000 43000 45170 3 6
36490042 2661002 264134 281112 3 95
36500000 100000 43000 45166 3 6
36600000 100000 43000 45166 3 6
36700000 100000 43000 45166 3 6
36800000 100000 43000 45166 3 6
36900000 100000 43000 45166 3 6
37000000 3000000 1290000 1375620 80 90
37000000 100000 43000 45146 3 6
37100000 100000 43000 45146 3 6
37200000 100000 43000 45146 3 6
37300000 100000 43000 45146 3 6
37400000 100000 43000 45146 3 6
37500000 100000 43000 45146 3 6
37600000 100000 43000 45146 3 6
37700000 100000 43000 45146 3 6
37800000 100000 43000 45146 3 6
37900000 100000 43000 45146 3 6
38000000 100000 43000 45146 3 6
38100000 100000 43000 45146 3 6
38200000 100000 43000 45146 3 6
38300000 100000 43000 45146 3 6
38400000 100000 43000 45146 3 6
38500000 100000 43000 45146 3 6
38600000 100000 43000 45146 3 6
38700000 100000 43000 45146 3 6
38800000 100000 43000 45146 3 6
38900000 100000 43000 45146 3 6
39000000 100000 43000 45146 3 6
39100000 100000 43000 45146 3 6
39200000 100000 43000 45146 3 6
39251044 545002 504056 537082 20 31
39300000 100000 43000 45144 3 6
39400000 100000 43000 45144 3 6
39500000 100000 43000 45144 3 6
39600000 100000 43000 45144 3 6
39700000 100000 43000 45144 3 6
39800000 100000 43000 45144 3 6
39896046 564002 376511 401022 98 80
39896046 817002 150939 160339 78 43
39896046 353002 99123 105013 73 15
39896046 2506002 714365 761476 99 84
39900000 100000 43000 45149 3 6
40000000 3000000 1290000 1375660 80 90
40000000 100000 43000 45147 3 6
40100000 100000 43000 45147 3 6
40200000 100000 43000 45147 3 6
40300000 100000 43000 45147 3 6
40400000 100000 43000 45147 3 6
40500000 100000 43000 45147 3 6
40600000 100000 43000 45147 3 6
40700000 100000 43000 45147 3 6
40800000 100000 43000 45147 3 6
40900000 100000 43000 45147 3 6
41000000 100000 43000 45147 3 6
41100000 100000 43000 45147 3 6
41200000 100000 43000 45147 3 6
41300000 100000 43000 45147 3 6
41400000 100000 43000 45147 3 6
41500000 100000 43000 45147 3 6
41600000 100000 43000 45147 3 6
41700000 100000 43000 45147 3 6
41800000 100000 43000 45147 3 6
41900000 100000 43000 45147 3 6
42000000 100000 43000 45147 3 6
42100000 100000 43000 45147 3 6
42200000 100000 43000 45147 3 6
42300000 100000 43000 45147 3 6
42400000 100000 43000 45147 3 6
42500000 100000 43000 45147 3 6
42502048 130002 71538 75588 72 0
42502048 665002 347830 370323 38 52
42502048 1046002 3114 2602 68 72
42600000 100000 43000 45153 3 6
42700000 100000 43000 45153 3 6
42800000 100000 43000 45153 3 6
42900000 100000 43000 45153 3 6
43000000 3000000 1290000 1375609 80 90
43000000 100000 43000 45149 3 6
43100000 100000 43000 45149 3 6
43200000 100000 43000 45149 3 6
43300000 100000 43000 45149 3 6
43400000 100000 43000 45149 3 6
43500000 100000 43000 45149 3 6
43600000 100000 43000 45149 3 6
43648050 2643002 1225965 1307299 91 53
43700000 100000 43000 45165 3 6
43800000 100000 43000 45165 3 6
43900000 100000 43000 45165 3 6
44000000 100000 43000 45165 3 6
44100000 100000 43000 45165 3 6
44200000 100000 43000 45165 3 6
44300000 100000 43000 45165 3 6
44400000 100000 43000 45165 3 6
44500000 100000 43000 45165 3 6
44600000 100000 43000 45165 3 6
44700000 100000 43000 45165 3 6
44800000 100000 43000 45165 3 6
44900000 100000 43000 45165 3 6
45000000 100000 43000 45165 3 6
45100000 100000 43000 45165 3 6
45200000 100000 43000 45165 3 6
45300000 100000 43000 45165 3 6
45400000 100000 43000 45165 3 6
45500000 100000 43000 45165 3 6
45600000 100000 43000 45165 3 6
45700000 100000 43000 45165 3 6
45800000 100000 43000 45165 3 6
45900000 100000 43000 45165 3 6
46000000 3000000 1290000 1375638 80 90
46000000 100000 43000 45149 3 6
46100000 100000 43000 45149 3 6
46200000 100000 43000 45149 3 6
46300000 100000 43000 45149 3 6
46391052 17002 13374 13545 80 45
46391052 817002 664620 708390 65 14
46391052 2519002 497664 530232 47 65
46391052 1878002 1004593 1071143 95 42
46391052 286002 119700 127014 87 53
46400000 100000 43000 45163 3 6
46500000 100000 43000 45163 3 6
46600000 100000 43000 45163 3 6
46700000 100000 43000 45163 3 6
46777054 1430002 558646 595345 96 27
46777054 510002 266242 283355 49 2
46777054 1797002 1135184 1210461 97 22
46800000 100000 43000 45145 3 6
46900000 100000 43000 45145 3 6
47000000 100000 43000 45145 3 6
47100000 100000 43000 45145 3 6
47200000 100000 43000 45145 3 6
47300000 100000 43000 45145 3 6
47400000 100000 43000 45145 3 6
47500000 100000 43000 45145 3 6
47600000 100000 43000 45145 3 6
47700000 100000 43000 45145 3 6
47800000 100000 43000 45145 3 6
47900000 100000 43000 45145 3 6
48000000 100000 43000 45145 3 6
48100000 100000 43000 45145 3 6
48200000 100000 43000 45145 3 6
48300000 100000 43000 45145 3 6
48400000 100000 43000 45145 3 6
48500000 100000 43000 45145 3 6
48600000 100000 43000 45145 3 6
48674056 463002 194466 206717 24 90
48674056 535002 252525 268647 85 11
48700000 100000 43000 45167 3 6
48800000 100000 43000 45167 3 6
48900000 100000 43000 45167 3 6
49000000 3000000 1290000 1375586 80 90
49000000 100000 43000 45165 3 6
49100000 100000 43000 45165 3 6
49200000 100000 43000 45165 3 6
49300000 100000 43000 45165 3 6
49309058 2898002 1890030 2015829 86 82
49309058 368002 109137 115699 97 81
49400000 100000 43000 45149 3 6
49500000 100000 43000 45149 3 6
49600000 100000 43000 45149 3 6
49700000 100000 43000 45149 3 6
49777060 910002 378373 402977 33 11
49800000 100000 43000 45149 3 6
49900000 100000 43000 45149 3 6
50000000 100000 43000 45149 3 6
50100000 100000 43000 45149 3 6
50200000 100000 43000 45149 3 6
50300000 100000 43000 45149 3 6
50400000 100000 43000 45149 3 6
50500000 100000 43000 45149 3 6
50600000 100000 43000 45149 3 6
50700000 100000 43000 45149 3 6
50787062 860002 173620 184472 61 41
50787062 504002 251581 267714 8 69
50800000 100000 43000 45149 3 6
50900000 100000 43000 45149 3 6
51000000 100000 43000 45149 3 6
51100000 100000 43000 45149 3 6
51200000 100000 43000 45149 3 6
51300000 100000 43000 45149 3 6
51391064 2968002 292892 311795 48 40
51400000 100000 43000 45148 3 6
51500000 100000 43000 45148 3 6
51600000 100000 43000 45148 3 6
51700000 100000 43000 45148 3 6
51800000 100000 43000 45148 3 6
51900000 100000 43000 45148 3 6
52000000 3000000 1290000 1375603 80 90
52000000 100000 43000 45166 3 6
52100000 100000 43000 45166 3 6
52200000 100000 43000 45166 3 6
52300000 100000 43000 45166 3 6
52400000 100000 43000 45166 3 6
52500000 100000 43000 45166 3 6
52600000 100000 43000 45166 3 6
52700000 100000 43000 45166 3 6
52800000 100000 43000 45166 3 6
52900000 100000 43000 45166 3 6
53000000 100000 43000 45166 3 6
53100000 100000 43000 45166 3 6
53200000 100000 43000 45166 3 6
53300000 100000 43000 45166 3 6
53400000 100000 43000 45166 3 6
53500000 100000 43000 45166 3 6
53600000 100000 43000 45166 3 6
53700000 100000 43000 45166 3 6
53800000 100000 43000 45166 3 6
53900000 100000 43000 45166 3 6
54000000 100000 43000 45166 3 6
54100000 100000 43000 45166 3 6
54200000 100000 43000 45166 3 6
54300000 100000 43000 45166 3 6
54400000 100000 43000 45166 3 6
54459066 2568002 420130 447532 62 49
54459066 2182002 1185687 1264350 63 82
54459066 1542002 1453522 1550084 3 22
54500000 100000 43000 45148 3 6
54600000 100000 43000 45148 3 6
54700000 100000 43000 45148 3 6
54800000 100000 43000 45148 3 6
54900000 100000 43000 45148 3 6
55000000 3000000 1290000 1375612 80 90
55000000 100000 43000 45165 3 6
55100000 100000 43000 45165 3 6
55200000 100000 43000 45165 3 6
55300000 100000 43000 45165 3 6
55400000 100000 43000 45165 3 6
55500000 100000 43000 45165 3 6
55600000 100000 43000 45165 3 6
55700000 100000 43000 45165 3 6
55800000 100000 43000 45165 3 6
55900000 100000 43000 45165 3 6
56000000 100000 43000 45165 3 6
56100000 100000 43000 45165 3 6
56101068 844002 779368 830787 71 91
56200000 100000 43000 45161 3 6
56300000 100000 43000 45161 3 6
56400000 100000 43000 45161 3 6
56500000 100000 43000 45161 3 6
56600000 100000 43000 45161 3 6
56700000 100000 43000 45161 3 6
56800000 100000 43000 45161 3 6
56900000 100000 43000 45161 3 6
57000000 100000 43000 45161 3 6
57045070 2107002 1333939 1422502 89 66
57100000 100000 43000 45162 3 6
57200000 100000 43000 45162 3 6
57300000 100000 43000 45162 3 6
57400000 100000 43000 45162 3 6
57500000 100000 43000 45162 3 6
57600000 100000 43000 45162 3 6
57700000 100000 43000 45162 3 6
57800000 100000 43000 45162 3 6
57900000 100000 43000 45162 3 6
58000000 3000000 1290000 1375629 80 90
58000000 100000 43000 45148 3 6
58100000 100000 43000 45148 3 6
58200000 100000 43000 45148 3 6
58300000 100000 43000 45148 3 6
58400000 100000 43000 45148 3 6
58500000 100000 43000 45148 3 6
58600000 100000 43000 45148 3 6
58700000 100000 43000 45148 3 6
58800000 100000 43000 45148 3 6
58900000 100000 43000 45148 3 6
59000000 100000 43000 45148 3 6
59100000 100000 43000 45148 3 6
59200000 100000 43000 45148 3 6
59252072 2696002 989242 1054767 1 49
59252072 2656002 770386 821226 79 27
59252072 329002 22627 23424 94 23
59300000 100000 43000 45167 3 6
59400000 100000 43000 45167 3 6
59500000 100000 43000 45167 3 6
59600000 100000 43000 45167 3 6
59681074 1794002 1556982 1660485 4 1
59681074 2417002 732124 780422 2 49
59681074 806002 252797 269008 48 43
59700000 100000 43000 45165 3 6
59800000 100000 43000 45165 3 6
59900000 100000 43000 45165 3 6
60000000 100000 43000 45165 3 6
60100000 100000 43000 45165 3 6
60200000 100000 43000 45165 3 6
60300000 100000 43000 45165 3 6
60400000 100000 43000 45165 3 6
60500000 100000 43000 45165 3 6
60600000 100000 43000 45165 3 6
60700000 100000 43000 45165 3 6
60800000 100000 43000 45165 3 6
60900000 100000 43000 45165 3 6
/unsupported/trunk/crunch/load/go.bat
0,0 → 1,0
x ..\crunch\rrvalue crunch.dat
/unsupported/trunk/crunch/load/makefile
0,0 → 1,43
#
#
#
 
ifndef BASE
BASE=../..
endif
include $(BASE)/config/config.mk
 
PROGS = step1 step1b step2 step2b step3 step4
 
include $(BASE)/config/example.mk
 
step1: step1.c
gcc step1.c -o step1
 
step1b: step1b.c
gcc step1b.c -o step1b
 
runstep1: step1 length.dat
step1 < length.dat > shape.dat
 
runstep1b: step1b length.dat
step1b < length.dat > shape.dat
 
step2:
make -f $(SUBMAKE) APP=step2 INIT= OTHEROBJS="tune.o" OTHERINCL=
 
step2b:
make -f $(SUBMAKE) APP=step2b INIT= OTHEROBJS="tune.o" OTHERINCL=
 
step3:
make -f $(SUBMAKE) APP=step3 INIT= OTHEROBJS="tune.o" OTHERINCL=
 
step4: step4.c
gcc step4.c -o step4
 
runstep4: step4 hpattern.dat vpattern.dat
step4 hpattern.dat vpattern.dat > crunch.dat
 
clean::
rm *.o *.exe
 
/unsupported/trunk/crunch/load/step1.c
0,0 → 1,60
/*
Step 1: Generation of the Shape of the hard periodic load
---------------------------------------------------------
Given the LENGTH.DAT file, we need to produce a random shape for the
Periodic load.
 
The random shape is the limit of bandwith that a certain time can be
available for creating hard tasks. Hard task creation is disabled
if the currently used bandwidth is higher than the limit.
 
The random shape is contained into the SHAPE.DAT file. The file contains
a sequence of numbers in the form: <time> <b>,
where <time> is the time in seconds to wich refers the threshold,
and <b> is the maximum bandwidth that can be used after <time>.
The data is ordered by time.
*/
 
#include <stdio.h>
#include <stdlib.h>
 
#define MAX_BANDWIDTH 0xFFFFFFFF
 
int x;
int x_total[1000], x_B[1000];
 
int main()
{
unsigned length;
unsigned i;
unsigned total;
 
 
scanf("%d",&length);
 
srand(time(0));
 
 
total = 0;
x=0;
while (total < length) {
i = rand()%90; // percentage of use
 
x_total[x] = total;
x_B[x] = (MAX_BANDWIDTH/100)*i;
 
fprintf(stderr,"x=%6d B=%d\n", x_total[x], i);
x++;
 
total += rand()%30+5;
}
 
printf("%d\n",x+1);
for (i=0; i<x; i++) {
printf("%u %u\n",x_total[i], x_B[i]);
}
 
printf("%u 0\n",length);
 
return 0;
}
/unsupported/trunk/crunch/load/step2.c
0,0 → 1,455
/*
* Project: S.Ha.R.K.
*
* Coordinators:
* Giorgio Buttazzo <giorgio@sssup.it>
* Paolo Gai <pj@gandalf.sssup.it>
*
* Authors :
* Paolo Gai <pj@gandalf.sssup.it>
* (see the web pages for full authors list)
*
* ReTiS Lab (Scuola Superiore S.Anna - Pisa - Italy)
*
* http://www.sssup.it
* http://retis.sssup.it
* http://shark.sssup.it
*/
 
/**
------------
CVS : $Id: step2.c,v 1.1 2004-07-05 14:17:15 pj Exp $
 
File: $File$
Revision: $Revision: 1.1 $
Last update: $Date: 2004-07-05 14:17:15 $
------------
**/
 
/*
* Copyright (C) 2000 Paolo Gai
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*/
 
#include "kernel/kern.h"
#include "string.h"
#include "ll/i386/x-dos.h"
#include "modules/rr.h"
#include "modules/dummy.h"
#include "modules/edf.h"
#include "modules/sem.h"
#include "modules/hartport.h"
#include "drivers/keyb.h"
#include "ctype.h"
#include "tune.h"
 
 
int ending=0;
 
 
// Patterns
#define MAX_PATTERN 10000
int max_pattern = 0;
TIME pattern_t[MAX_PATTERN];
TIME pattern_period[MAX_PATTERN];
TIME pattern_wcet[MAX_PATTERN];
TIME pattern_iter[MAX_PATTERN];
 
void record_pattern(TIME t, TIME period, TIME wcet)
{
pattern_t[max_pattern] = t;
pattern_period[max_pattern] = period;
pattern_wcet[max_pattern] = wcet;
max_pattern++;
}
 
#define WCET_SLACK 500
 
void tune_pattern(void)
{
int i,w;
 
for (i=0; i<max_pattern; i++) {
w = (pattern_wcet[i]*80)/100-WCET_SLACK;
// if (w>pattern_wcet[i]-WCET_SLACK) w=pattern_wcet[i]-WCET_SLACK;
pattern_iter[i] = tune_CPU_speed(w);
}
}
 
 
 
 
// Shape modification
 
#define DEFAULT_SHIFT 1000000
#define MAX_SHAPE 1000
 
bandwidth_t shape=0; // current shape threshold
 
int current_shape = 0;
bandwidth_t shape_B[MAX_SHAPE];
TIME shape_T[MAX_SHAPE];
int max_shape;
 
void shape_event(void *arg)
{
struct timespec t;
 
shape = shape_B[current_shape];
 
current_shape++;
 
if (current_shape == max_shape)
ending = 1;
 
NULL_TIMESPEC(&t);
ADDUSEC2TIMESPEC((shape_T[current_shape]*1000000+DEFAULT_SHIFT),&t);
 
// cprintf("At Time=%10ld.%10ld T=%10d Shape=%10d\n",t.tv_sec,t.tv_nsec,
// shape_T[current_shape],shape_B[current_shape]);
 
kern_event_post(&t,shape_event,NULL);
}
 
void start_shape(void)
{
struct timespec t;
 
NULL_TIMESPEC(&t);
ADDUSEC2TIMESPEC(DEFAULT_SHIFT,&t);
kern_cli();
kern_event_post(&t,shape_event,NULL);
kern_sti();
}
 
// Hard task
#define ASTER_LIM 80
void *hard_task(void *arg)
{
int j, x, y;
char s[2];
 
x = 0;
y = rand() % 6 + 3;
s[0] = '*'; s[1] = 0;
while (x < ASTER_LIM) {
for (j=0; j<50; j++) {
s[0] = '*' + rand() % 100;
puts_xy(x,y,rand()%15+1,s);
}
 
task_endcycle();
 
puts_xy(x,y,WHITE," ");
x++;
}
 
return (void *)0;
}
 
 
#define MAX_PERIOD 100
// Load creation
void *create_load(void *arg)
{
PID p;
 
HARD_TASK_MODEL m;
TIME period = 0;
TIME wcet = 0;
int x; // adaptive bandwidth...
int counter=0;
 
char buf[100];
 
hard_task_default_model(m);
 
x = MAX_PERIOD/3;
 
place(0,11);
 
// waiting for the start time :-)
while (sys_gettime(NULL)<DEFAULT_SHIFT);
 
while (1) {
sprintf(buf,"Shape: %5.3f Band: %5.3f period: %10ld wcet: %10ld Time: %d",
(double)shape/(double)MAX_BANDWIDTH,
(double)EDF_usedbandwidth(0)/(double)MAX_BANDWIDTH,
period, wcet, sys_gettime(NULL)/1000000);
puts_xy(0,10,WHITE,buf);
 
period = (x+rand() % (MAX_PERIOD-x+1))*1000;
wcet = rand()%1000 * (period/1500);
 
if ((MAX_BANDWIDTH/period)*wcet > shape - EDF_usedbandwidth(0))
wcet = (shape - EDF_usedbandwidth(0))/period;
 
if (wcet < period/40) wcet=period/40;
if (wcet < 500) wcet=500;
 
if (EDF_usedbandwidth(0) + (MAX_BANDWIDTH/period)*wcet < shape) {
 
hard_task_def_mit(m, period);
hard_task_def_wcet(m, wcet);
p = task_create("hard_task",hard_task,&m,NULL);
if (p == -1) {
x += rand()%10-4;
}
else {
record_pattern(sys_gettime(NULL),period,wcet);
cprintf("%d ",++counter);
task_activate(p);
x *= 3;
x /= 4;
}
if (x<MAX_PERIOD/3) x = MAX_PERIOD/3;
if (x > MAX_PERIOD) x = MAX_PERIOD;
}
 
if (ending) return (void *)0;
}
}
 
 
// Read/Write part
 
#define FILEBUF_DIM 10000
 
/* This is the buffer used by read_myfile */
char myfilebuf[FILEBUF_DIM];
 
/* This is the number of bytes read by read_myfile */
int myfilebuf_length;
 
/* the buffer b is scannedc to search for numbers
at the first non-number the function stops */
int geti(char *b, int *pos, int maxpos)
{
int res = 0;
 
// skip first chars
while (!isdigit(b[*pos])) {
(*pos)++;
if (*pos == maxpos) return -1; // Error!!!
}
 
 
// read the numbers
do {
res = (res * 10) + b[*pos] - '0';
(*pos)++;
} while (isdigit(b[*pos]));
 
return res;
}
 
 
void parse_shape(void)
{
int curr_filepos = 0;
int i = 0;
 
// read the number of tasks into the data file
max_shape = geti(myfilebuf, &curr_filepos, myfilebuf_length);
if (max_shape == -1) {
cprintf("Error parsing shape.dat file...\n");
sys_end();
}
 
for (i=0; i<max_shape; i++) {
// read the seven datas
shape_T[i] = geti(myfilebuf, &curr_filepos, myfilebuf_length);
shape_B[i] = geti(myfilebuf, &curr_filepos, myfilebuf_length);
 
// check the last one for an error
if (shape_B[i] == -1) {
cprintf("Error parsing shape %d...\n",i);
sys_end();
}
}
}
 
void read_shapes(void)
{
char name[]="shape.dat";
 
/* DOS file descriptor */
DOS_FILE *f;
 
/* Error code */
int err;
 
/* open the DOS file for reading (you can specify only "r" or "w") */
f = DOS_fopen(name,"r");
 
/* check for open errors */
if (!f) {
/* error!! */
err = DOS_error();
 
/* note that if you call DOS_error() here, it return 0!!! */
cprintf("Error %d opening %s...\n", err, name);
myfilebuf_length = 0;
return;
}
 
/* read up to 1000 chars */
myfilebuf_length = DOS_fread(&myfilebuf,1,FILEBUF_DIM,f);
 
/* check for errors */
err = DOS_error();
 
cprintf("Read %d bytes from %s...\n", myfilebuf_length, name);
 
if (err) {
cprintf("Error %d reading %s...\n", err, name);
myfilebuf_length = 0;
/* there is not return because I want to close the file! */
}
 
/* Close the file */
DOS_fclose(f);
}
 
 
/* This function write myfile.out (up to 30 chars) */
void write_hpattern(void *arg)
{
DOS_FILE *f; /* DOS file descriptor */
int err=0; /* Error code */
int writtenbytes = 0; /* number of files written */
char buf[100];
int i;
 
/* open the DOS file for writing (you can specify only "r" or "w") */
f = DOS_fopen("hpattern.dat","w");
 
/* check for open errors */
if (!f) {
/* error!! */
err = DOS_error();
 
/* note that if you call DOS_error() here, it return 0!!! */
cprintf("Error %d opening hpattern.dat...\n", err);
return;
}
 
sprintf(buf,"%d\r\n",max_pattern);
writtenbytes += DOS_fwrite(buf,1,strlen(buf),f);
 
for (i=0; i<max_pattern; i++) {
sprintf(buf,"%ld %ld %ld %ld\r\n", pattern_t[i], pattern_period[i],
pattern_wcet[i], pattern_iter[i]);
 
writtenbytes += DOS_fwrite(buf,1,strlen(buf),f);
 
/* check for errors */
err = DOS_error();
if (err) break;
}
 
 
cprintf("Written %d bytes into hpattern.dat...\n", writtenbytes);
 
if (err) {
cprintf("Error %d writing hpattern.dat...\n", err);
/* there is not return because I want to close the file! */
}
 
/* Close the file */
DOS_fclose(f);
}
 
 
 
 
 
 
 
 
 
/*+ sysyem tick in us +*/
#define TICK 0
 
/*+ RR tick in us +*/
#define RRTICK 10000
 
void read_myfile(void);
 
TIME __kernel_register_levels__(void *arg)
{
struct multiboot_info *mb = (struct multiboot_info *)arg;
 
EDF_register_level(EDF_ENABLE_ALL);
RR_register_level(RRTICK, RR_MAIN_NO, mb);
RR_register_level(RRTICK, RR_MAIN_YES, mb);
dummy_register_level();
 
SEM_register_module();
 
read_shapes();
 
return TICK;
}
 
 
NRT_TASK_MODEL keyb_model;
 
TASK __init__(void *arg)
{
NRT_TASK_MODEL nrt;
 
KEYB_PARMS kparms = BASE_KEYB;
 
HARTPORT_init();
 
nrt_task_default_model(keyb_model);
nrt_task_def_system(keyb_model);
nrt_task_def_nokill(keyb_model);
keyb_def_task(kparms,(TASK_MODEL *)&keyb_model);
KEYB_init(&kparms);
 
set_exchandler_grx();
 
nrt_task_default_model(nrt);
 
srand(sys_gettime(NULL));
 
clear();
 
sys_atrunlevel(write_hpattern, NULL, RUNLEVEL_AFTER_EXIT);
 
parse_shape();
 
start_shape();
 
task_activate(task_create("create_load",create_load,&nrt,NULL));
 
cputs("\nWaiting the end of the periodic tasks...\n");
while (task_counter != 1);
 
// the task create_load preempt __init__ until all is finished!
tune_pattern();
 
return (void *)0;
}
 
// never called!!!
int main()
{
return 0;
}