Commit Graph

34 Commits

Author SHA1 Message Date
Frans Kaashoek 1ddfbbb194 Revert "Introduce and use sleeplocks instead of BUSY flags"
My changes have a race with re-used bufs and the code doesn't seem to get shorter
Keep the changes that fixed ip->off race

This reverts commit 3a5fa7ed90.

Conflicts:

	defs.h
	file.c
	file.h
2011-08-29 17:18:40 -04:00
Frans Kaashoek 3a5fa7ed90 Introduce and use sleeplocks instead of BUSY flags
Remove I_BUSY, B_BUSY, and intrans defs and usages
One spinlock per buf to avoid ugly loop in bget
fix race in filewrite (don't update f->off after releasing lock)
2011-08-26 10:08:29 -04:00
Russ Cox 1a81e38b17 make new code like old code
Variable declarations at top of function,
separate from initialization.

Use == 0 instead of ! for checking pointers.

Consistent spacing around {, *, casts.

Declare 0-parameter functions as (void) not ().

Integer valued functions return -1 on failure, 0 on success.
2011-01-11 13:01:13 -05:00
Robert Morris 7d7dc9331b kalloc/kfree now only a page at a time
do not keep sorted contiguous free list
2010-08-31 12:54:47 -04:00
Russ Cox 48755214c9 assorted fixes:
* rename c/cp to cpu/proc
 * rename cpu.context to cpu.scheduler
 * fix some comments
 * formatting for printout
2009-08-30 23:02:08 -07:00
Russ Cox 0aef891495 shuffle and tweak for formatting.
pdf has very good page breaks now.
would be a good copy for fall 2009.
2009-08-08 01:07:30 -07:00
Russ Cox 00e571155c more doc tweaks 2009-07-12 18:33:37 -07:00
rsc f3685aa391 simplify 2009-05-31 02:07:51 +00:00
kolya e670a48358 as rtm noticed, avoid doubly-freeing pipe page 2008-10-15 17:42:56 +00:00
kolya 02cc595f28 clean up circular buffers, so pipe can queue 512 bytes rather than 511 2008-08-22 00:26:22 +00:00
rsc 5516be1fed spaces around else for rtm 2007-08-28 18:37:41 +00:00
rsc e4d6a21165 more consistent spacing 2007-08-28 18:32:08 +00:00
rsc 6eed1ee9b0 formatting 2007-08-28 05:00:53 +00:00
rsc 7834cca604 remove _ from pipe; be like file 2007-08-28 04:22:35 +00:00
rsc 558ab49f13 delete unnecessary #include lines 2007-08-27 23:26:33 +00:00
rsc 3ce1647078 nits 2007-08-27 16:06:19 +00:00
rsc ea6e370964 i cannot prove that release before wakeup is wrong, but i cannot convince myself it is right either 2007-08-14 19:10:57 +00:00
rsc f1f8dd91bc formatting 2007-08-14 18:42:34 +00:00
rsc b6095304b7 Make cp a magic symbol. 2007-08-10 16:37:27 +00:00
rsc 3bbbaca14d move variable declaration up 2007-08-10 16:35:01 +00:00
rsc 22330658ff spacing 2007-08-09 16:56:40 +00:00
rsc f2f062da61 check p->killed for long-lived sleeps 2007-08-08 10:29:42 +00:00
rsc 2cbb4b1842 stop using fd to name files 2006-09-08 13:44:42 +00:00
rsc 50e514be98 fd_* => file_* 2006-09-06 18:43:45 +00:00
rsc 9936bffa45 fd.* -> file.* 2006-09-06 18:40:28 +00:00
rsc 39593d2f1a struct fd -> struct file 2006-09-06 18:38:56 +00:00
rsc d4c64e5d43 writeable => writable 2006-09-06 18:06:04 +00:00
rsc 9e9bcaf143 standardize various * conventions 2006-09-06 17:27:19 +00:00
rtm 5be0039ce9 interrupts could be recursive since lapic_eoi() called before rti
so fast interrupts overflow the kernel stack
fix: cli() before lapic_eoi()
2006-08-10 22:08:14 +00:00
rtm bd228a8156 prevent longjmp / forkret from writing over tf->edi 2006-07-18 19:22:37 +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 4e8f237be8 no more big kernel lock
succeeds at usertests.c pipe test
2006-07-12 01:48:35 +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