RE: IOBufferMemoryDescriptor::withOptions(kIOMemoryPhysicallyContiguous...)
RE: IOBufferMemoryDescriptor::withOptions(kIOMemoryPhysicallyContiguous...)
- Subject: RE: IOBufferMemoryDescriptor::withOptions(kIOMemoryPhysicallyContiguous...)
- From: Daniel Rice <email@hidden>
- Date: Wed, 2 Sep 2009 13:31:02 -0700
- Acceptlanguage: en-US
- 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 [email@hidden]
Sent: Wednesday, September 02, 2009 12:01 PM
To: Daniel Rice
Cc: email@hidden
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 (email@hidden)
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
...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 (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden