Opened 13 years ago

Closed 12 years ago

#985 closed bug (fixed)

IDE DMA problem under VMWare

Reported by: aldeck Owned by: marcusoverhagen
Priority: high Milestone: R1
Component: - General Version: R1/pre-alpha1
Keywords: Cc: axeld, diver
Blocked By: Blocking:
Has a Patch: no Platform: All

Description

I found two reproductible bugs related to IDE DMA under VMWare.

1) When trying to shutdown Haiku, the shutdown is stalling for several seconds on "Tidying things up a bit" showing no icon or indication of progress.

2) wget and ftp both stall randomly when downloading a file.

Setting "Disable IDE DMA" in the boot menu solves the two problems.

I'm attaching the serial output of a simple startup and shutdown session with and without IDE DMA enabled.

Attachments (2)

IdeDmaEnabled.txt (40.1 KB ) - added by aldeck 13 years ago.
IdeDmaDisabled.txt (39.8 KB ) - added by aldeck 13 years ago.

Download all attachments as: .zip

Change History (11)

by aldeck, 13 years ago

Attachment: IdeDmaEnabled.txt added

by aldeck, 13 years ago

Attachment: IdeDmaDisabled.txt added

comment:1 by axeld, 13 years ago

Did you anything special before shutting down? Because while "tidying things up" it just syncs the HD caches. And that may take a while depending on how much you did before, since Haiku doesn't periodically write back the disk cache yet!

To 2): this has nothing to do with IDE DMA - it may just slow down the download. TCP isn't exactly finished yet, and that's one of its known problems.

comment:2 by aldeck, 13 years ago

No i just booted and immediately shut down without doing any file op. I thought you would knew about this issue because i saw it mentionned on several places.

About 2), ok fine, otherwise networking is working great so far, impressive job!

comment:3 by marcusoverhagen, 13 years ago

Cc: marcusoverhagen added

in reply to:  1 comment:4 by jonas.kirilla, 13 years ago

I've compared syncing a fresh boot of Haiku (rev 20131 and some previous) in VMware Player / Windows XP / 2.4GHz Celeron to the same in Q (Qemu) / MacOS X / 1.4GHz G4, and while Haiku in VMware on the PC is a lot snappier than Haiku in Q on the Mac, syncing takes "normal" time in Q, whereas in VMware Player it takes much, much longer.

/bin/idestatus says:

Q on Mac: dma_status: dma enabled pio mode: 0 dma mode: 0x00

VMware Player on PC: dma_status: dma disabled after dma failure pio mode: 0 dma mode: 0x00

/bin/ideinfo:

Q: FLUSH CACHE: supported FLUSH CACHE EXT: supported

VMwarePlayer: FLUSH CACHE: not supported FLUSH CACHE EXT: not supported

There may be some other difference to the output of ideinfo that I haven't spotted.

comment:5 by diver, 13 years ago

Cc: diver added; marcusoverhagen removed

comment:6 by diver, 13 years ago

Cc: marcusoverhagen added

comment:7 by marcusoverhagen, 13 years ago

Cc: axeld added; marcusoverhagen removed
Owner: changed from axeld to marcusoverhagen
Priority: normalhigh

The IDE DMA implementation is faulty. I does write to wrong registers (reported in vmware logfiles), and trys to reset the devices in a strange way. I added some debug output for this problem in hrev19990.

comment:8 by marcusoverhagen, 13 years ago

Status: newassigned

comment:9 by bonefish, 12 years ago

Resolution: fixed
Status: assignedclosed

Fixed in hrev22975.

Note: See TracTickets for help on using tickets.