On 5/22/08, Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx> wrote: > Hi man.... > > First, kudos for your work on kmemcheck....i haven't tried it by > myself but I think it's a cool piece of codes. > > > On Wed, May 21, 2008 at 5:04 PM, Vegard Nossum <vegard.nossum@xxxxxxxxx> wrote: > > > > I was reading Matthew Wilcox's paper on softirqs, tasklets, bottom > > halves, task queues, work queues, and timers. But I am still a little > > unsure of the best way to proceed. My requirement of not accessing > > dynamically allocated memory seem unprecedented in the kernel. E.g., > > one of my earliest attempts included using a kernel thread and waking > > it up from the page fault handler, but this did not work because > > adding the kthread to a runqueue would access dynamically allocated > > memory. > > > > Does it seem like softirqs or tasklets can do what I want? > > > > Help is much appreciated. > > > then you need somekind of statically allocated pages locked on RAM? > possibly they are allocated on boot? pfff i forgot the name, kinda > boot_allocate_pages() or something like that... Yeah, no global or local variables are tracked so they are safe to access from anywhere. But any memory allocated using kmalloc() or kmem_cache_alloc() is dangerous to touch from the page fault handler. > now, for the acceleration....i think it should be tasklet in high > priority. If possible, try to bind this taskled to run only on certain > processor (not sure if it's doable). Yep, I think that tasklets are the way to go too! In fact, I managed to use tasklets by modifying the tasklet code only a little bit: http://lkml.org/lkml/2008/5/21/447 http://lkml.org/lkml/2008/5/21/465 Anyway, thanks for the hints :-) Vegard -- "The animistic metaphor of the bug that maliciously sneaked in while the programmer was not looking is intellectually dishonest as it disguises that the error is the programmer's own creation." -- E. W. Dijkstra, EWD1036 -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ