Re: [PATCH v3] libsas: move ATA bits into a separate module
From: Jeff Garzik
Date: Mon Sep 18 2006 - 17:47:53 EST
Christoph Hellwig wrote:
On Thu, Sep 14, 2006 at 03:40:55PM -0700, Darrick J. Wong wrote:
Jeff Garzik wrote:
I disagree completely with this approach.
You don't need a table of hooks for the case where libata is disabled in
.config. Thus, it's only useful for the case where libsas is loaded as
a module, but libata is not.
Indeed, I misunderstood what James Bottomley wanted, so I reworked the
patch. It has the same functionality as before, but this module uses
the module loader/symbol resolver for all the functions in libata, and
allows libsas to (optionally) call into sas_ata with weak references by
pushing a table of the necessary function pointers into libsas at
sas_ata load time. Thus, libsas doesn't need to load libata/sas_ata
unless it actually finds a SATA device.
NACK again. Week references are bad. Please change it back to normal
hard references so that it works like everything else in the kernel.
I strongly agree.
The kernel code will bloat, and performance will suffer, if we did weak
refs and jump tables everywhere.
I just don't see the overhead of loading libata, and not using it, as a
huge penalty, when looking at the alternatives.
Consider the common use cases: (a) normal distro usage, often servers
where libata loading will be common anyway due to SATA presence on
motherboard, and (b) embedded use, where ATA support can be .config'd
out at compile time.
Thus, the use cases where end users really will care about libata being
loaded, but not used, are slim to none.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/