Insertion at the end of a Sequenced singly-linked List

Is there any function in wdk which let’s atomic insertion at the end of a sequenced singly-linked list? I cannot find one in documentation and wdm.h (where other ExInterlock* functions are declared). There is one ExInterlockedInsertTailList but this is for doubly linked list. Help!!! Thanks.

No there is not such a function, if you need somehting other than LIFO go
with a doubly linked list.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

wrote in message news:xxxxx@ntdev…
> Is there any function in wdk which let’s atomic insertion at the end of a
> sequenced singly-linked list? I cannot find one in documentation and wdm.h
> (where other ExInterlock* functions are declared). There is one
> ExInterlockedInsertTailList but this is for doubly linked list. Help!!!
> Thanks.
>

Thanks Don.

MSDN says" Sequenced List is more efficient for atomic operations than the implementation of singly-linked lists described in Singly-Linked Lists.". But there was no word of comparison mentioned against doubly linked list. In my case I have small (few number of elements per list) but many lists which include atomic insertion and deletion. Is doubly linked list as efficient as Sequenced list ? Also with doubly linked list I think there will be more space overhead. right?

Well a Sequenced list is faster since it is a single atomic instruction, but
the overhead of lists is pretty small in general. In fact most drivers are
better off being clearly written than worrying about wringing the last cycle
out of the code.

Yes doubly linked lists need two pointers per entry versus one, but in less
you are talking millions of elements who is going to notice.


Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply

wrote in message news:xxxxx@ntdev…
> Thanks Don.
>
> MSDN says" Sequenced List is more efficient for atomic operations than the
> implementation of singly-linked lists described in Singly-Linked Lists.".
> But there was no word of comparison mentioned against doubly linked list.
> In my case I have small (few number of elements per list) but many lists
> which include atomic insertion and deletion. Is doubly linked list as
> efficient as Sequenced list ? Also with doubly linked list I think there
> will be more space overhead. right?
>