[PATCH 2/4] libata-core.c: add another IRQ calls
Jeff Garzik
jeff at garzik.org
Wed Jan 17 09:04:27 EST 2007
Alan wrote:
> Jeff - at some point we could eliminate a lot of the NULL checks like
> these by having the registration code fill in the defaults where
> appropriate ?
libata policy up until this point has been to require all drivers fill
in the hook, either with the commonly-used default, or with their own
variant. Thus, no NULL checks for required hooks, and you get an oops
if you fail this requirement. I like that better than defaults buried
inside libata-core, where it is easier for programmers to forget them.
But actually, it's an open question for the compiler guys whether this
case is preferred:
if (ap->ops->hook)
ap->ops->hook(foo, bar);
else
commonly_used_default(foo, bar);
or this:
ap->ops->hook(foo, bar);
With advanced branch prediction in modern CPUs, ISTR the first case may
be worth considering, even with the branch.
If the second case is preferred, then Akira should make a bombing run
through each driver, applying the patch
+ .irq_on = ata_irq_on
No NULL checks or registration code bother, in that case.
Comments welcome...
Jeff
More information about the Linuxppc-dev
mailing list