cvs commit: src/sys/dev/ata ata-all.c ata-all.h ata-card.c
ata-cbus.c
ata-chipset.c ata-disk.c ata-disk.h ata-dma.c ata-isa.c ata-lowlevel.c
ata-pci.c
ata-pci.h ata-queue.c ata-raid.c ata-raid.h ata-usb.c ata_if.m atapi-cd.c
atapi-cd.h atapi-fd.c ...
Niclas Zeising
niclas.zeising at gmail.com
Fri Apr 11 04:05:03 UTC 2008
Jeff Roberson wrote:
> I have two problems with this patch. First, it seems to break my amr
> device which is no longer able to probe disks. Backing out this commit
> fixes the problem.
>
> Secondly, with WITNESS enabled my console is full of the following
> errors on boot:
>
> uma_zalloc_arg: zone "16" with the following non-sleepable locks held:^M
> exclusive sleep mutex ATA state lock r = 0 (0xffffff0004117678) locked @
> dev/ata
> /ata-queue.c:194^M
> exclusive sleep mutex ATA queue lock r = 0 (0xffffff00041176b0) locked @
> dev/ata
> /ata-queue.c:177^M
> KDB: stack backtrace:^M
> db_trace_self_wrapper() at db_trace_self_wrapper+0x27^M
> kdb_backtrace() at kdb_backtrace+0x3e^M
> witness_warn() at witness_warn+0x374^M
> uma_zalloc_arg() at uma_zalloc_arg+0x3f^M
> uma_zalloc() at uma_zalloc+0x20^M
> malloc() at malloc+0x122^M
> sysctl_add_oid() at sysctl_add_oid+0x11d^M
> alloc_bounce_zone() at alloc_bounce_zone+0x204^M
> bus_dma_tag_create() at bus_dma_tag_create+0x2d1^M
> ata_dmaload() at ata_dmaload+0x341^M
> ata_begin_transaction() at ata_begin_transaction+0x22f^M
> ata_start() at ata_start+0x24c^M
> ata_queue_request() at ata_queue_request+0x3da^M
> ata_raid_rw() at ata_raid_rw+0x14b^M
> ata_raid_adaptec_read_meta() at ata_raid_adaptec_read_meta+0x8a^M
> ata_raid_read_metadata() at ata_raid_read_metadata+0x297^M
> ata_raid_subdisk_attach() at ata_raid_subdisk_attach+0x57^M
> DEVICE_ATTACH() at DEVICE_ATTACH+0x84^M
> device_attach() at device_attach+0x3c^M
> device_probe_and_attach() at device_probe_and_attach+0x10d^M
> bus_generic_attach() at bus_generic_attach+0x23^M
> ad_attach() at ad_attach+0x25f^M
> DEVICE_ATTACH() at DEVICE_ATTACH+0x84^M
> device_attach() at device_attach+0x3c^M
> device_probe_and_attach() at device_probe_and_attach+0x10d^M
> bus_generic_attach() at bus_generic_attach+0x23^M
> ata_identify() at ata_identify+0x225^M
> ata_boot_attach() at ata_boot_attach+0x54^M
> run_interrupt_driven_config_hooks() at
> run_interrupt_driven_config_hooks+0x79^M
> mi_startup() at mi_startup+0x11b^M
>
> It's not legal to call bus_dma_tag_create with locks held.
>
> Thanks,
> Jeff
Also, it seems to panic my machine. Can't confirm though, and since it
was during a installworld my machine is too botched to do anything but
reinstall. The panic string is: Too many DMA segment entries and the top
of the backtrace, before the call to panic() is a call to
ata_setup_interrupt(). Can't get further though as the system is totaly
botched.
The controller is a intel AHCI one. I also got the same LORs as Jeff.
Regards!
Niclas
>
> On Thu, 10 Apr 2008, S�ren Schmidt wrote:
>
>> sos 2008-04-10 13:05:05 UTC
>>
>> FreeBSD src repository
>>
>> Modified files:
>> sys/dev/ata ata-all.c ata-all.h ata-card.c ata-cbus.c
>> ata-chipset.c ata-disk.c ata-disk.h
>> ata-dma.c ata-isa.c ata-lowlevel.c
>> ata-pci.c ata-pci.h ata-queue.c
>> ata-raid.c ata-raid.h ata-usb.c ata_if.m
>> atapi-cd.c atapi-cd.h atapi-fd.c
>> atapi-fd.h atapi-tape.c atapi-tape.h
>> Log:
>> Add experimental support for SATA Port Multipliers
>>
>> Support is working on the Silicon Image SiI3124/3132.
>> Support is working on some AHCI chips but far from all.
>>
>> Remember this is WIP, so test reports and (constructive) suggestions
>> are welcome!
>>
>> Revision Changes Path
>> 1.282 +73 -57 src/sys/dev/ata/ata-all.c
>> 1.129 +42 -25 src/sys/dev/ata/ata-all.h
>> 1.41 +1 -1 src/sys/dev/ata/ata-card.c
>> 1.26 +1 -1 src/sys/dev/ata/ata-cbus.c
>> 1.213 +797 -266 src/sys/dev/ata/ata-chipset.c
>> 1.208 +117 -48 src/sys/dev/ata/ata-disk.c
>> 1.54 +1 -1 src/sys/dev/ata/ata-disk.h
>> 1.151 +160 -132 src/sys/dev/ata/ata-dma.c
>> 1.32 +1 -1 src/sys/dev/ata/ata-isa.c
>> 1.81 +31 -33 src/sys/dev/ata/ata-lowlevel.c
>> 1.124 +41 -40 src/sys/dev/ata/ata-pci.c
>> 1.84 +1 -2 src/sys/dev/ata/ata-pci.h
>> 1.70 +8 -3 src/sys/dev/ata/ata-queue.c
>> 1.127 +1 -1 src/sys/dev/ata/ata-raid.c
>> 1.47 +1 -1 src/sys/dev/ata/ata-raid.h
>> 1.8 +1 -2 src/sys/dev/ata/ata-usb.c
>> 1.8 +1 -1 src/sys/dev/ata/ata_if.m
>> 1.197 +4 -9 src/sys/dev/ata/atapi-cd.c
>> 1.48 +1 -1 src/sys/dev/ata/atapi-cd.h
>> 1.112 +3 -7 src/sys/dev/ata/atapi-fd.c
>> 1.28 +1 -1 src/sys/dev/ata/atapi-fd.h
>> 1.105 +5 -13 src/sys/dev/ata/atapi-tape.c
>> 1.26 +1 -1 src/sys/dev/ata/atapi-tape.h
>>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> cvs-all at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/cvs-all
> To unsubscribe, send any mail to "cvs-all-unsubscribe at freebsd.org"
More information about the cvs-src
mailing list