Re: API change for bus_dma
From: Justin T. Gibbs (gibbs_at_scsiguy.com)
Date: 06/29/03
- Previous message: Scott Long: "Re: API change for bus_dma"
- In reply to: Scott Long: "Re: API change for bus_dma"
- Next in thread: Andrew Gallatin: "Re: API change for bus_dma"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Date: Sun, 29 Jun 2003 10:57:36 -0600 To: Scott Long <scottl@freebsd.org>
>> Again, what we want to achieve is as few lock acquires and releases
>> in the common case as possible. For architectures like x86, the only
>> data structure that needs to be locked for the common case of no deferral
>> and no bounce page allocations is the tag (it will soon hold the S/G list
>> passed to the callback). Other implementations may need to acquire other
>> locks, but using the client's lock still removes one lock acquire and
>> release in each invocation that is not deferred.
>>
>> --
>> Justin
>
> This is becoming wonderfully complex. What is the purpose of storing
> the S/G list in the tag? Are we going to enforce a 1:1 relationship
> between tags and maps? That would really suck for the aac(4) driver.
No. We are going to enforce only one callback invocation at a time
per tag. The S/G list is only persistent for the lifetime of the
callback.
The reason for the change is to avoid using the stack for large S/G
lists.
-- Justin _______________________________________________ freebsd-arch@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-arch To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
- Previous message: Scott Long: "Re: API change for bus_dma"
- In reply to: Scott Long: "Re: API change for bus_dma"
- Next in thread: Andrew Gallatin: "Re: API change for bus_dma"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
|