Marek Podmaka wrote:
Hello, I have server with Intel 5000V motherboard with integrated AHCI SATA controller. It works well with kernel 2.6.18.2. But I have problem with little entropy available and I'm not sure if one of the reasons is that AHCI driver does not use add_disk_randomness() to contribute to the kernel entropy pool. I'm not very skilled on kernel "hacking"... I tried finding where this is called (it's defined in drivers/char/random.c and used for example in Comapaq SmartArray driver in drivers/block/cciss.c). For the SCSI part, I found it in scsi_lib.c, but I was not able to determine if this is actually used by ahci/libata drivers. If not, would it be possible to implement it? I tried to figure out where to call it by looking at cciss.c, but it seems that this is totally different case, at least for me. I don't know where to add it, because its parameter is struct gendisk *disk and didn't find it used anywhere in ahci or libata.
libata currently attaches as a SCSI device and SCSI midlayer invokes add_disk_randomness() in scsi_enq_request(). So, ahci is already contributing to entropy pool. cciss needs explicit call to the function because it's a separate block driver and has no one above to handle it automatically. You probably need to look for another source if you need more.
-- tejun - To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html