Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2016-09-11 | Replace I_BUSY with sleep locks | Frans Kaashoek | 1 | -0/+2 | |
2016-08-18 | Remove unused variable, nits. | Peter H. Froehlich | 1 | -6/+5 | |
2014-08-27 | a start at concurrent FS system calls | Robert Morris | 1 | -25/+25 | |
2014-08-04 | every iput() and namei() must be inside a transaction | Robert Morris | 1 | -9/+26 | |
2012-02-17 | Make fetchint and fetchstr use proc instead of taking a struct proc | Austin Clements | 1 | -2/+2 | |
Previously, these were inconsistent: they used their struct proc argument for bounds checking, but always copied the argument from the current address space (and hence the current process). Drop the struct proc argument and always use the current proc. Suggested by Carmi Merimovich. | |||||
2011-10-14 | don't let dirty blocks be evicted from cache! | Robert Morris | 1 | -0/+6 | |
2011-09-02 | Shorten sys_unlink a little; create now fits in column | Austin Clements | 1 | -13/+10 | |
2011-08-29 | Revert "Introduce and use sleeplocks instead of BUSY flags" | Frans Kaashoek | 1 | -1/+0 | |
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 3a5fa7ed9020eaf8ab843a16d26db7393b2ec072. Conflicts: defs.h file.c file.h | |||||
2011-08-26 | Introduce and use sleeplocks instead of BUSY flags | Frans Kaashoek | 1 | -0/+1 | |
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-15 | avoid deadlock by calling begin_trans() before locking any inodes | Robert Morris | 1 | -4/+10 | |
2011-08-12 | log write() data | Robert Morris | 1 | -3/+27 | |
usertest for big write()s push begin_trans/commit_trans down into syscalls | |||||
2011-01-11 | make new code like old code | Russ Cox | 1 | -1/+1 | |
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. | |||||
2010-09-27 | copyout() copies data to a va in a pagetable, for exec() &c | Robert Morris | 1 | -1/+1 | |
usertest that passes too many arguments, break exec | |||||
2010-07-02 | Initial version of single-cpu xv6 with page tables | Frans Kaashoek | 1 | -3/+2 | |
2009-08-30 | assorted fixes: | Russ Cox | 1 | -9/+9 | |
* rename c/cp to cpu/proc * rename cpu.context to cpu.scheduler * fix some comments * formatting for printout | |||||
2009-08-08 | shuffle and tweak for formatting. | Russ Cox | 1 | -1/+0 | |
pdf has very good page breaks now. would be a good copy for fall 2009. | |||||
2009-07-11 | rearrangements and cleanup for text | Russ Cox | 1 | -35/+33 | |
2009-05-31 | simplify | rsc | 1 | -22/+13 | |
2008-10-17 | try harder to get directory refcounts right | kolya | 1 | -2/+8 | |
2008-10-16 | make mkdir crash-safer, as noticed by many students on midterm | kolya | 1 | -7/+11 | |
2007-09-27 | believe it or not, this was working | rsc | 1 | -6/+6 | |
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-08-28 | spaces around else for rtm | rsc | 1 | -1/+1 | |
2007-08-28 | more consistent spacing | rsc | 1 | -1/+1 | |
2007-08-28 | remove _ from pipe; be like file | rsc | 1 | -1/+1 | |
2007-08-27 | make code match comment | rsc | 1 | -1/+1 | |
2007-08-27 | make code match comment | rsc | 1 | -1/+1 | |
2007-08-27 | delete unnecessary #include lines | rsc | 1 | -7/+2 | |
2007-08-27 | oops | rsc | 1 | -0/+1 | |
2007-08-27 | nits | rsc | 1 | -17/+7 | |
2007-08-27 | fileincref -> filedup (consistent with idup) | rsc | 1 | -1/+1 | |
2007-08-24 | shuffle for formatting | rsc | 1 | -18/+19 | |
2007-08-24 | remove unused variable | rsc | 1 | -1/+1 | |
2007-08-24 | Remove struct uinode. | rsc | 1 | -52/+61 | |
Remove type arg to mknod (assume T_DEV). | |||||
2007-08-22 | PDF at http://am.lcs.mit.edu/~rsc/xv6.pdf | rsc | 1 | -103/+211 | |
Various changes made while offline. + bwrite sector argument is redundant; use b->sector. + reformatting of files for nicer PDF page breaks + distinguish between locked, unlocked inodes in type signatures + change FD_FILE to FD_INODE + move userinit (nee proc0init) to proc.c + move ROOTDEV to param.h + always parenthesize sizeof argument | |||||
2007-08-21 | ARGMAX -> MAXARGS | rsc | 1 | -3/+3 | |
2007-08-21 | Various cleanup: | rsc | 1 | -187/+32 | |
- Got rid of dummy proc[0]. Now proc[0] is init. - Added initcode.S to exec /init, so that /init is just a regular binary. - Moved exec out of sysfile to exec.c - Moved code dealing with fs guts (like struct inode) from sysfile.c to fs.c. Code dealing with system call arguments stays in sysfile.c - Refactored directory routines in fs.c; should be simpler. - Changed iget to return *unlocked* inode structure. This solves the lookup-then-use race in namei without introducing deadlocks. It also enabled getting rid of the dummy proc[0]. | |||||
2007-08-20 | checkpoint - simpler namei interface | rsc | 1 | -31/+36 | |
2007-08-10 | avoid assignments in declarations | rsc | 1 | -1/+1 | |
2007-08-10 | Make cp a magic symbol. | rsc | 1 | -6/+1 | |
2007-08-09 | oops | rsc | 1 | -1/+1 | |
2007-08-09 | try to use cp only for curproc[cpu()] | rsc | 1 | -11/+12 | |
2007-08-08 | save process name for debugging | rsc | 1 | -2/+8 | |
2006-09-07 | fix ide, pit interfaces | rsc | 1 | -1/+1 | |
2006-09-07 | fix pipe bug | rsc | 1 | -0/+2 | |
2006-09-07 | refactor syscall code | rsc | 1 | -186/+142 | |
2006-09-06 | wrap long lines | rsc | 1 | -2/+6 | |
2006-09-06 | fd_* => file_* | rsc | 1 | -13/+13 | |
2006-09-06 | fd.* -> file.* | rsc | 1 | -1/+1 | |
2006-09-06 | struct fd -> struct file | rsc | 1 | -19/+19 | |
2006-09-06 | split syscall.c into sysfile.c and sysproc.c | rsc | 1 | -0/+477 | |