Commit graph

42 commits

Author SHA1 Message Date
rsc
34295f461a group locks into structs they protect.
few naming nits.
2009-05-31 05:12:21 +00:00
rsc
d522571068 make slow bigdir last test 2007-09-27 12:29:06 +00:00
rsc
666f58c711 believe it or not, this was working
the macro expansion of "char *cp;" turned into
char *(curproc[cpu()]);  which declares a dynamically
sized array of char* called curproc.

so then &cp == &(curproc[cpu()]) was actually a
stack variable as "expected".  it was one past the
end of the array, but the implicit alloca allocated
more than was necessary.

do not tell me that making cp a #define was a bad idea.
there are worse problems to fix.  more on that later.
2007-09-27 05:13:10 +00:00
rsc
56c1a151d2 debugging prints 2007-09-26 23:24:23 +00:00
rsc
e0e7d07e5a test that fork fails gracefully 2007-08-24 20:20:23 +00:00
rtm
2036534834 add missing iput() at end of _namei() 2007-08-24 14:56:17 +00:00
rtm
b55513796f oops, O_CREATE doesn't truncate, so holes can't exist, thus no bug 2007-08-24 12:55:15 +00:00
rtm
3d5f21ee1f test concurrent open/unlink of same file (ok)
test files with holes (not ok)
2007-08-24 12:19:13 +00:00
rsc
c88bf235fe check unlink of non-empty directory 2007-08-22 02:21:22 +00:00
rsc
2d61a40b20 bug in usertests! 2007-08-20 21:00:20 +00:00
rsc
5e03dd86c8 add test for rm . 2007-08-10 17:53:09 +00:00
rsc
dca5b5ca2e avoid assignments in declarations 2007-08-10 17:17:42 +00:00
rsc
c664dd5d23 missing void 2007-08-08 09:32:39 +00:00
rsc
115e177400 standardize on not using unsigned keyword 2007-08-08 09:30:48 +00:00
rsc
f3c393ba9f fix tests 2006-09-07 20:06:08 +00:00
rsc
0517a730db remove bogus test 2006-09-07 15:31:40 +00:00
rsc
6c8acf9e04 check super-long lookups 2006-09-07 15:15:46 +00:00
kaashoek
a64cd81342 one regression test program 2006-09-07 13:23:41 +00:00
rsc
9e9bcaf143 standardize various * conventions 2006-09-06 17:27:19 +00:00
rtm
dfcc5b997c prune unneeded panics and debug output 2006-08-29 19:06:37 +00:00
rtm
3b95801add i broke sbrk, fix it 2006-08-29 17:01:40 +00:00
kaashoek
74493bf446 kill user process when it generates an unhandled trap (e.g., 13)
fix bug in test code of malloc
2006-08-25 00:43:17 +00:00
kaashoek
81d5219998 bug in sbrk
test malloc
2006-08-24 19:24:36 +00:00
kaashoek
8787cd01df chdir
cd in shell
nits in mkdir, ls, etc.
2006-08-19 23:41:34 +00:00
rtm
350e63f7a9 no more proc[] entry per cpu for idle loop
each cpu[] has its own gdt and tss
no per-proc gdt or tss, re-write cpu's in scheduler (you win, cliff)
main0() switches to cpu[0].mpstack
2006-08-15 22:18:20 +00:00
rtm
211ff0c67e namei returns locked parent dir inode for create / unlink
don't hold fd table lock across idecref() (latter does block i/o)
idecref calls iput() in case last ref -> freeing inode
dir size is 512 * # blocks, so readi/writei &c work
unlink deletes dirent even if ip->nlink > 0
2006-08-13 12:22:44 +00:00
rtm
9e5970d596 link() 2006-08-13 02:12:44 +00:00
rtm
cd93074e5b LRU disk cache replacement 2006-08-12 22:34:13 +00:00
rtm
14938f9392 buffer cache, fifo replacement 2006-08-12 17:17:35 +00:00
rtm
7ce01cf9be mknod set nlink = 1
usertests for concurrent create/delete, and read() after unlink()
2006-08-12 16:47:48 +00:00
rtm
4357207237 fix getblk to actually lock the block
no more cons_put system calls
usertests tests two processes writing files
2006-08-12 11:38:57 +00:00
rtm
8455980b27 exec arguments 2006-07-28 22:33:07 +00:00
rsc
c54c79267f nitpicks 2006-07-17 01:25:22 +00:00
rsc
9b37d1bfaa Add user.h for prototypes.
Add cons_puts for cleaner output.
2006-07-16 15:36:31 +00:00
rtm
46bbd72f3e no more recursive locks
wakeup1() assumes you hold proc_table_lock
sleep(chan, lock) provides atomic sleep-and-release to wait for condition
ugly code in swtch/scheduler to implement new sleep
fix lots of bugs in pipes, wait, and exit
fix bugs if timer interrupt goes off in schedule()
console locks per line, not per byte
2006-07-15 12:03:57 +00:00
rtm
6eb6f10c56 passes both usertests
exit had acquire where I meant release
swtch now checks that you hold no locks
2006-07-12 15:35:33 +00:00
rtm
664324745e cvs add spinlock.h
fix race in schedule()
2006-07-12 09:10:25 +00:00
rtm
4e8f237be8 no more big kernel lock
succeeds at usertests.c pipe test
2006-07-12 01:48:35 +00:00
rtm
b41b38d0da give each cpu its own clock, so that preemption works on cpu 1 2006-07-11 18:45:27 +00:00
rtm
b548df152b pre-empt both user and kernel, in clock interrupt
usertest.c tests pre-emption
kill()
2006-07-11 17:39:45 +00:00
rtm
8b4e2a08fe swtch saves callee-saved registers
swtch idles on per-CPU stack, not on calling process's stack
fix pipe bugs
usertest.c tests pipes, fork, exit, close
2006-07-01 21:26:01 +00:00
rtm
c41f1de5d4 file descriptors
pipes
2006-06-27 14:35:53 +00:00