A "bottom half" is the part of handling an interrupt that is not as time critical and was not performed in the interrupt handler itself.
What goes in the "top half" and what, in the "bottom half"?
Top half:
- time sensitive
- work directly related to the hardware
- work that should not be interrupted by another interrupt handler (or the same one)
Bottom half: everything else.