tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: RFC: softint-based if_input
Hi,
So here is a complete patch:
http://www.netbsd.org/~ozaki-r/softint-if_input-full.diff
With the patch if_input and above should not run in HW
interrupt anymore.
The patch includes the following changes:
- Introduce softint-based if_input mechanism
- It is enabled by default for all drivers
- It is disabled if if_initialize(ifp, IF_INPUTF_NO_SOFTINT)
is used (instead of if_attach)
- Some drivers that already uses softint are modified
to use IF_INPUTF_NO_SOFTINT
- Replace ifp->if_input in every drivers with if_input
- It calls softint_schedule if softint-based if_input
is enabled for the driver
- Band-aid fixes to make every if_input run in softint
- atm
- atm_input isn't compatible with other if_input
and we cannot apply the common mechanism
- Fast forward for atm is temporarily disabled
for the goal
- Need to be fixed in the future
- ixg
- The driver calls if_input from either HW interrupt
or softint depending on load
- Disable the former for the goal
- (As msaitoh-san says) the driver already has performance
issue and has to be overhauled to fix it. We'll tackle
the band-aid and the overhaul all together
- Put KASSERT(!cpu_intr_p()) in ether_input and bridge_input
- If it fails, it's a bug from now on
Any comments?
ozaki-r
Home |
Main Index |
Thread Index |
Old Index