RE: IOBufferMemoryDescriptor::withOptions(kIOMemoryPhysicallyContiguous...)
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Thread-index: Acor/9Tp6NiIP29IQt6yvUUJa2WJpgADHTDQ Thread-topic: IOBufferMemoryDescriptor::withOptions(kIOMemoryPhysicallyContiguous...) I think that's exactly what the problem is. I'm looking at Apple's USB audio driver, and they're using inTaskWithPhysicalMask(). A quick look at the IOBuffermemoryDescriptor code shows that withOptions() sets the mask to 0. Thanks, -Dan ________________________________________ From: Duane Murphy [duanemurphy@mac.com] Sent: Wednesday, September 02, 2009 12:01 PM To: Daniel Rice Cc: darwin-kernel@lists.apple.com Subject: Re: IOBufferMemoryDescriptor::withOptions(kIOMemoryPhysicallyContiguous...) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 This sounds like the same problem I was having. The VM system in Snow Leopard seems much more capable of providing addresses outside of the 4GB range (ie 32b). I changed the code to use IOBufferMemoryDescriptor::inTaskWithPhysicalMask() in order to limit the requested memory range. I think the kIOMemoryPhysicallyContiguous option is still available with this interface. On Sep 2, 2009, at 11:05 AM, Daniel Rice wrote:
Some of our users are reporting a problem on 10.6. Basically, our usb device audio starts glitching after the computer has been running for a certain amount of time, and won't stop until they reboot the machine.
We saw a problem like this once before with the exact same symptoms under Leopard/Tiger. The cause ended up being that UHCI usb controllers require page aligned, physically contiguous memory and we weren't using the kIOMemoryPhysicallyContiguous option. So, the fix was easy. We added that, and the glitching stopped because ram was then allocated per the uhci requirement.
Unfortunately xnu source is not available, so I can't see if anything has changed. Is is possible that even though we are selecting the kIOMemoryPhysicallyContiguous option, we aren't actually being returned physically contiguous ram under all conditions in Snow Leopard? The user who is seeing this issue has 4gb of ram, but he's running some vmware vms and he says that he only has a few mb of ram free according to activity monitor.
Will this call return non-contiguous ram if it can't find contiguous ram? Are there any known issues relating to this in Snow Leopard?
Thanks
-Dan
Line 6 _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/duanemurphy%40mac.com
This email sent to duanemurphy@mac.com
...Duane -----BEGIN PGP SIGNATURE----- Version: PGP Desktop 9.10.0 (Build 500) Charset: US-ASCII wsBVAwUBSp7A9Urg9acQ4r2CAQg+Cgf/T7a9uIFXbTQAeQhYc9T+Y190qL5aANtC Fhj3yriJdINrAD1g2X59xg0Dprwx5ueRpfmFr8yGqFefQhC1WJUmFIHsx+IZL8fn 4hBg7ROzf90+Su9ukxzdaqWLeTCxviJITsQHtSrHA6LICa3eX7UzDBY/YLaI2i0w xYjOugrUAiDyJbQdXpKBmsppB2zZMSkGRuqvpnqPSe76vdPohY/F8av0sKkJfM83 FShpK3o+Txu9oIQqa0tqs0WIkP05cMrbIyWIAZn+K4zQCDMPEYFhGWrao80TLt8o sWc+JBOUbItBCAK7mertKz9sYCxK3i05o++ilygtizAD/Yxjg2lZcg== =j+yN -----END PGP SIGNATURE----- _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Daniel Rice