On Thu, 2004-08-05 at 00:53, Marc Kleine-Budde wrote: > On Tue, Aug 03, 2004 at 11:17:12PM +0200, Philippe Gerum wrote: > > > I thought you would have said sth to this.... > > > The exception of the faults is very labyrinthic :) It goes through > > > Labyrinthic would mean that many ways are possible for progressing from > > this code path including a bunch of dead ends. This is clearly not the > > case here. > > sorry - there is no only one code path :) But a little bit of code and > variables are unused...Have a look at the attached patch. >
I agree with your patch now that we are focusing on fusion which is strictly Adeos-based; just remember that the low-level layer of fusion was also used by non-Adeos based implementations of 3.x still running the old RTHAL; for this reason, using evinfo_t was not an option there, and you might find a few other examples of such constructs in the low-level code. In any case, we must make sure that we do not rely on Adeos resources beyond the HAL abstraction level, otherwise we would have problems providing the simulation and UVM supports. > > > several 'real' layers. This was needed in RTAI 3.0 and 3.1 but I think > > > If somebody has enough/too much :) time, it should be redesigned... > > > xnpod_trap_fault should be directly registered within the Adeos layer. > > > Nope, it should not. You still have to deal with on-demand memory > > mappings triggering valid page faults with the "real" HAL. But you don't > > Who triggers these faults? The on-demand memory mapping. > Look at the vmalloc_fault label in linux/arch/i386/mm/fault.c:do_page_fault(). > What do you mean by on-demand memory mapping? When the heap goes out of > mem? I must admit, I havn't looked at the heap implementation. > This is not related to the OOM condition, but rather to some sort of lazy update of the task's page table by the kernel. > [...] > > > I've something better for the TODO list. Have the following written a > > zillion times in the documentation: > > > > Good layering provides efficient structuring, bad layering is no > > layering... > > Okay - I'll write this in my diploma thesis :) > Marc > > P.S.: Patch tested with my skin - the nullpointer exception is detected and > the svctable.faulhandler is called. Ok, seems reasonable; I'll apply it. Thanks. -- Philippe.
