Re: 2.6.17-rc4-mm3
From: Valdis . Kletnieks
Date: Mon May 22 2006 - 07:15:28 EST
On Mon, 22 May 2006 02:27:09 PDT, Andrew Morton said:
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.17-rc4/2.6.17-rc4-mm3/
Mostly works, am chasing down 3 small things (all 3 were new as of -mm2 - I was
busy chasing them when -mm3 showed up).
1) Something has gone astray in the hardware RNG rework. /sbin/rngd was
quite happy dealing with the i810 RNG in my laptop under -rc4-mm1, but under
-mm2 and -mm3, I get this (from strace /bin/rngd):
open("/dev/hw_random", O_RDONLY) = 3
read(3, "q\252cg", 4) = 4
read(3, 0xbfaf56ac, 4) = -1 EAGAIN (Resource temporarily unavai lable)
It works for some number of reads, but eventually pulls an EAGAIN. When
stracing on a console that was slow-to-scroll, it did several dozen before
failing - so it's apparently a timing thing. I stuck a debugging printk
in just before the test that returns EAGAIN, and got this:
[ 68.361000] rng_read data_present=1 i=0 bytes_read=1
[ 68.361000] rng_read data_present=1 i=0 bytes_read=1
[ 68.361000] rng_read data_present=1 i=0 bytes_read=1
[ 68.361000] rng_read data_present=1 i=0 bytes_read=1
[ 68.361000] rng_read data_present=0 i=20 bytes_read=0
It looks to me line the old code stayed in a while() loop in rng_dev_read
until it had fulfilled the read request (including possibly multiple
calls to need_resched() and friends). The new code will bail on an -EAGAIN
as soon as the *first* poll fails, rather than waiting until something
is available - even if it is NOT flagged O_NONBLOCK.
2) Building modules, stage 2.
MODPOST
WARNING: drivers/acpi/processor.o - Section mismatch: reference to .init.data: from .text between 'acpi_processor_power_init' (at offset 0xf5e) and 'acpi_safe_halt'
3) Something in git-cryptodev.patch doesn't play nice with RedHat Fedora's
'modsign' patches. I'm suspecting this is the cause:
commit f1c737f209e39095016e5be3904b2ce84027890f
Author: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
Date: Tue May 16 22:09:29 2006 +1000
[CRYPTO] all: Pass tfm instead of ctx to algorithms
I just haven't stared at it enough to make the fixes needed.
Attachment:
pgp00000.pgp
Description: PGP signature