1. interrupt, task queue and wait queue.
I have a very interesting problem. Currently, I am using the bottom half of
the interrupt to wake up a wait queue element waiting in the read() routine.
This is how I implement the bottom half:
1)The interrupt routine stored relevent data in the immidiate queue and
activate the bottom half.
2)The immediate queue function look at a bit that is atomically set by the
read routine just before the read routine going to sleep on a wait queue. If
the bit is set, it calls wake_up_interruptible on the wait_q that is wait
upon by the read routine. If the bit is not set, it queue the relevant data
in the schedule queue.
3) The schedule queue than constantly check the atomic bit that should be
set by the read routine. If the bit is not set, it would recursively queue
the data to itself(reschedule itself).
The problem is that the schedule queue runs at the interrupt time. As a
result, the other functions such as the read routine is not runned any more
and the calling function and the driver now runs in a loop. I also know that
the schedule queue can also run in the non-interrupt time. If the schedule
queue is runned in the non-interrupt time, I believe that it would give up
the cpu time and allow other processes to run. Any one has any ideas??
Furthermore, this problem is mainly a question of dealing with the interrupt
arriving before the wake_up_interruptable() in a read() routine is prepared
to be waked up by the bottom half of the interrupt handle and perform
reading. Since I'm new a writing interrupts and Linux, does any know of a
"general" way of handling this problem.
2. How to Change the Resolution in GNOME ? (Red Hat Linux 7.0)
3. Error in spool log :lpr: queue full
4. Senior Cost Accounting Analyst Needed!!!!!
5. Upgrading 'arad' Drivers to 'alad' on Altos 7000 running Altos SCO Unix
6. more space for swap
7. Is there any point to full host names in /etc/hosts ?
8. Help! Problems installing Redmond Linux on Abit KT7A raid
9. Scsi errors :Commands queued exceeds queue depth, active = 254
10. " File System full " error message : but the partition is not full.
11. how will the specific task be interrupted in the wait queue?
12. PKERNEL: Warning: RPC/UDP receive queue are full, packet dropping
13. Problem with RPC request queue becoming full