The kernel inlines stuff too much, and we're sloshing
vast amounts of stuff across the memory bus needlessly.
I suspect this is a more important issue than all the
stupid FASTCALL, likely() and `goto out_of_line' crud.
I chose to inline __wake_up_common() when I did the
try_to_wake_up() stuff because __wake_up_sync() is almost
never used, and the only other call site was __wake_up().
But now complete() is there too, Its main use will be in
disk driver calls - things like IDE CDROM where `ide_wait'
is used. Also SCSI uses complete() for synchronous operations
such as ioctls, disk spin-up, etc. I don't think scsi
uses complete() on a common path.
So __wake_up() remains the single main user of
__wake_up_common(), so __wake_up_common() should remain inline.
-
-
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/