- 2012年 4月 28日 31 次提交
-
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
I'm sure it fails for some other naming format..
-
由 Silas Boyd-Wickizer 提交于
An xns must fit in a page, but that doesn't allow enough buckets to avoid physical sharing in dirbench. This is basically a work-around for the one page limit.
-
由 Silas Boyd-Wickizer 提交于
I'll be changing the dirns implementation soon.
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
..next step is a namex that takes no refs.
-
由 Austin Clements 提交于
The only unexpected sharing is on the VMA refcount, which is exactly what we expected.
-
由 Austin Clements 提交于
This eliminates a bunch of confusing scopes that come from thread creation
-
由 Austin Clements 提交于
With the mtrace QEMU, which now switches VCPUs when there's a PAUSE, this speeds up my lame test (usertests vmoverlap) by a factor of 7 and certainly makes xv6 feel much faster.
-
由 Austin Clements 提交于
So we can hush up spurious errors.
-
由 Austin Clements 提交于
The user errors stream is disabled by default.
-
由 Austin Clements 提交于
These have the type-safety and extensibility of ostreams, but the simplicity and almost the terseness of printf.
-
由 Austin Clements 提交于
-
由 Austin Clements 提交于
-
由 Silas Boyd-Wickizer 提交于
Split the inode space into per-cpu spaces of size IPB that start at the begining of a block. Block awareness is important to avoid contention on blocks themselves when allocating or freeing an inode and updating on-disk structures. That is, I don't want to make bio scalable.
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Silas Boyd-Wickizer 提交于
-
由 Austin Clements 提交于
-
由 Austin Clements 提交于
This might be a mistake because we can't control the order of global construction, but we already have several global constructors that were simply not being called before. As long as we keep all global constructors simple, this should be okay.
-
- 2012年 4月 27日 9 次提交
-
-
由 Austin Clements 提交于
Here we already treat the radix tree as the source of truth, so we don't actually care if the VMA has been deleted or not.
-
由 Austin Clements 提交于
Previously we just looked at whether the fauling VMA was deleted once we had the PTE lock, but that's not enough since a VMA can be partially deleted. Instead, we check the radix tree again after taking the PTE lock.
-
由 Austin Clements 提交于
kmems still does for inittls.
-
由 Austin Clements 提交于
This gets the call PCs instead of the return PCs, since this turns out to be what we really want everywhere we use this. This was particularly annoying for panics: since the compiler knows that panic doesn't return, when it's the last thing in the function, the compiler doesn't emit any further code after the call, which means the "return" PC either doesn't map to anything or maps to another function entirely.
-
由 Austin Clements 提交于
-
由 Austin Clements 提交于
-
由 Austin Clements 提交于
Apparently we wound up with two equivalent functions for getting the current CPU's id. Switch to just myid since that was more common and is implemented as a static inline instead of an extern.
-
由 Austin Clements 提交于
I got confused by our crazy for-loop retry idiom.
-
由 Silas Boyd-Wickizer 提交于
I'm sure it fails for some other naming format..
-