- 19 Dec, 2016 11 commits
-
-
unregister fs does a synchronize_rcu, which basically waits for all cpu's to enter a "quiescent" state. The PMFS LCD thread was never yielding as it waited for the response, so we had a deadlock. I just needed to move cond_resched into the right place in microkernel/run.c.
-
Kmalloc memory is not executable by default. I also needed to make the maximum size ram map allocation bigger in order to map 2 GBs.
-
-
We need a way to temporarily prevent external interrupts from causing an LCD exit.
-
You have to be careful where you put your asyncs, especially with poll recv. If you wrap the call to poll recv in an async, you will consume lots of memory. I moved the async so it surrounds the dispatch function only. In the process, to debug, I updated libasync with THCDumpAllStacks (I was trying to see what all the stacks were - they were all coming from poll recv). NOTE: While debugging, I tweaked the microkernel dump stack code to work for THCDumpAllStacks (continue walking until we hit a frame or return address). If you don't make this change, THCDumpAllStacks will not crash, but it won't be informative either (the stack walk will stop too soon). I'm able to run at least 100 iterations now of mount/unmount without any problems.
-
I wasn't acknowledging receipt of a couple responses, and the async ipc buffer (the vfs tx buffer) slowly filled up after a couple of test iterations. But not all the way. It should be noted that if the async ipc buffers are not big enough, you will get a deadlock. This is because so many requests stay active before they are finally ack'd with a response. This is due to the criss-crossing.
-
Needed to null out cnode metadata.
-
Wasn't storing metadata in cnode in cspace in a certain case.
-
I forgot I was memset'ing it to 0 in slab.c (and it wasn't necessary).
-
-
Command line string parsing functions are sucked in. kthread spawning and waitqueue functions are no-op'd for now (these are for pmfs's log cleaner). In the future, could redef these to use libasync.
-
- 06 Dec, 2016 1 commit
-
-
Vikram Narayanan authored
struct cptr_cache in libcap has struct mutex as a member. In its original definition struct mutex has ifdef'd members, depending on the config chosen. Since, liblcd build undef's certain config's explicitly (such as CONFIG_SMP), this alters the size of struct mutex inside liblcd. To make the struct mutexes equal in size, padding was introduced. with 4.8, there is no difference in struct mutex size inside liblcd. So, make this padding to zero for proper functioning of libcap. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 27 Nov, 2016 11 commits
-
-
Vikram Narayanan authored
__get_cpu_var is replaced by this_cpu_read. From commit, 1e02ce4c x86: Store a per-cpu shadow copy of CR4 CR4 reads take several cycles. So, store a per-cpu shadow copy of CR4. So, replace direct reads with shadow_read() Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Use our old mm codebase (based on v3.10) and push in changes that are required to make it compile with v4.8's header files. To make this work I pulled in 3.10's slab_def.h to kick out 4.8's slab_def.h The changes are not that significant * Removed struct slab, struct slab_rcu (Use struct page instead) * Few kmem_chg related APIs were changed * Some minor optimizations Merged from 45eed508 slab: remove SLAB_LIMIT 16025177 slab: remove kmem_bufctl_t b1cb0982 slab: change the management method of free objects of the slab a57a4988 slab: use __GFP_COMP flag for allocating slab pages 56f295ef slab: use well-defined macro, virt_to_slab() 68126702 slab: overloading the RCU head over the LRU for RCU free 07d417a1 slab: remove cachep in struct slab_rcu 1ea991b0 slab: remove nodeid in struct slab ac2b54ed slab: remove colouroff in struct slab 0c3aa83e slab: change return type of kmem_getpages() to struct page 73293c2f slab: correct pfmemalloc check 276a2439 mm/slab: Give s_next and s_stop slab-specific names e25839f6 mm/slab: Sharing s_next and s_stop between slab and slub 0fa8103b mm/slab: Fix drain freelist excessively Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
alloc_pages_exact_node() has been replaced with __alloc_pages_node in the kernel. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Also remove pmfs from build Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
vmcs and resolve.c Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
struct module's layout has been changed in v4.8. Accomodate those changes inside LCD. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
These files got messed up somehow during merge. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
module.c has quite many modifications to load an LCD module. Bring in those changes that were left out during merge. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Some of them creeped in silently during merge, rest is from pmfs. Since pmfs won't work with v4.8 anymore, remove it. http://lists.infradead.org/pipermail/linux-pmfs/2016-June/000148.html Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
- 26 Oct, 2016 17 commits
-
-
Vikram Narayanan authored
Indentation function is being called from many places to ensure proper spacing in the generated file. However, this malloc'ed memory is never freed. Switch to a version using switch..case which does not use memory Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Most of the fixes were indentation fixes (indentation of the generated code). Also add missing ';' for members inside struct declaration Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
These are generated files which need not be committed. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Files generated by the compiler had same name for client and server source. Fix that. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
Identifier in C cannot have a '-' symbol. Since our idl file is sort of compliant to C standard, let's stick to C standards Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
Vikram Narayanan authored
The generated files are being written to a file, but not closed. Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
-
Vikram Narayanan authored
list out all options that this program can take. Some options are not yet implemented (TODO) Signed-off-by:
Vikram Narayanan <vikram186@gmail.com>
-
-
-
-
-
-
-
updated code that generates trampoline functions to reflect some changes. such as change dstore to cspace
-
-