misc questions about kernel 2.4.x internals

From: Christian Widmer (llx@swissonline.ch)
Date: Mon Aug 20 2001 - 09:52:55 EST


hi,

1) when using any functions that can block i need to do this in the context
of a process. so a can't read, write to sockets in a bottom-half of a
interrupt handler. thats why i need to use a kernel thread (i don't what to
use a user level process). my question now is - how long does it take until
my kernel thread starts running? do i have a way to give it very high
priority and force my thread to be scheduled so that i can be 'sure' to run
just after softirq's, tasklets, ...?

2) for module writers there is documented and easy to use api how to use
tasklets to schedule it's buttom-half for later (very soon) execution.
are tasklets like tq_immedate in 2.2.x or tq_schedule? i mean is there a
current process or do they runn at interrupt time?
and am i right when i say: to add a new softirq i need to patch kernel
sources?

3) i had a look at the ll_rw_block and realised that it can block when there
are to many buffers locked. when i use generic_make_request can i be
shure that i wont block so that i can call it in a tasklet and don't need to
switch to a kernel thread? i think that also needs that clustering function
__make_request may not block. does it or does it not?

4) i was looking at the networking code in 2.4 because it is possible that
i need to write a new thin network protocoll which is optimised for disk-i/o.
i didn't find any documentation how to implement a new one in 2.4. does
anybody have some pointers to doc's or can give me some comments?

thanks for any help or pointers to further information
chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:00:35 EST