Messages in this thread | | | Date | Mon, 13 Sep 1999 09:06:45 -0600 | From | yodaiken@chelm ... | Subject | Re: Lockups - lost interrupt |
| |
On Mon, Sep 13, 1999 at 05:41:31PM +0200, mingo@chiara.csoma.elte.hu wrote: > > My feeling is that the cost is undetectable [...] > > i understand what you mean, but Linux kernel's speed is a 'sum' of many > such 'undetectable' improvements. You cannot remove any of those speedups > just because the speedup is undetectable.
Sure. That's why it should be a config unless we can figure out this table idea. I'll have to look at the exceptions code -- but I think there are some jumps necessary.
> > > [...] and that if you don't want > > rtl you run standard code, if you do want, you run a jump table that > > allows rtl to be turned on and off. > > > > But I do like the idea of a section, I just don't know how to do it > > wouldnt it compile out to similar code ? > > ... > > jmp 1f > > .section cli_stuff > > 1: cli > > .section text > > ... > > thats the hard part i think too. One way to do it is like for exceptions > (check out how exceptions build their tables, Documentation/exception.txt) > : patch int3 into the necessery places if RT is enabled (int3 [or > equivalent] in this case is a full replacement for all 4 type of > instructions, cli, sti, popfl and pushfl), then search the 'exception > table' for the address. (the return address is pushed onto the stack by
int3 for cli int4 for sti int5 for pushfl int6 for popfl
> int3) This search can be rather slow though, and thats the main problem i > think. There is no cost to the main kernel, apart from the (presumably not > very big) kernel-resident address-tables. > > -- mingo
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |