linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* AHCI and add_disk_randomness()
@ 2006-11-15 21:01 Marek Podmaka
  2006-11-16 12:40 ` Jens Axboe
  2006-11-20  2:35 ` Tejun Heo
  0 siblings, 2 replies; 3+ messages in thread
From: Marek Podmaka @ 2006-11-15 21:01 UTC (permalink / raw)
  To: jgarzik; +Cc: linux-ide

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.

-- 
  bYE, Marki



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: AHCI and add_disk_randomness()
  2006-11-15 21:01 AHCI and add_disk_randomness() Marek Podmaka
@ 2006-11-16 12:40 ` Jens Axboe
  2006-11-20  2:35 ` Tejun Heo
  1 sibling, 0 replies; 3+ messages in thread
From: Jens Axboe @ 2006-11-16 12:40 UTC (permalink / raw)
  To: Marek Podmaka; +Cc: jgarzik, linux-ide

On Wed, Nov 15 2006, 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.

Since ahci attaches its devices through the scsi layer,
add_disk_randomness() will get called from scsi_end_request() like for
any other scsi controller.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: AHCI and add_disk_randomness()
  2006-11-15 21:01 AHCI and add_disk_randomness() Marek Podmaka
  2006-11-16 12:40 ` Jens Axboe
@ 2006-11-20  2:35 ` Tejun Heo
  1 sibling, 0 replies; 3+ messages in thread
From: Tejun Heo @ 2006-11-20  2:35 UTC (permalink / raw)
  To: Marek Podmaka; +Cc: jgarzik, linux-ide

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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-11-20  2:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-11-15 21:01 AHCI and add_disk_randomness() Marek Podmaka
2006-11-16 12:40 ` Jens Axboe
2006-11-20  2:35 ` Tejun Heo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).