[
https://issues.apache.org/jira/browse/TS-54?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
John Plevyak updated TS-54:
---------------------------
Attachment: ts-List_and_net-cleanup-jp-v1.patch
This patch contains both an updated List.h which encodes the offset of the Link
field into the
instantiation of Queue, DLL, SLL for safety and clarity and the application of
that
to iocore/net to simplify the various wait/enable/open queues. This patch also
integrates
the epoll_data into the UnixNetVConnection to get rid of an unnecessary malloc
on the critical path and as a first step in encapsulating the various polling
mechanisms.
> UnixNet cleanup, encapsulation of event subsystem
> -------------------------------------------------
>
> Key: TS-54
> URL: https://issues.apache.org/jira/browse/TS-54
> Project: Traffic Server
> Issue Type: Improvement
> Components: Cleanup
> Environment: all unixesque
> Reporter: John Plevyak
> Assignee: John Plevyak
> Attachments: proposed-jp-v1-List.h,
> ts-List_and_net-cleanup-jp-v1.patch
>
> Original Estimate: 72h
> Remaining Estimate: 72h
>
> The UnixNet subsystem was modified for epoll, but lots of the old data
> structures, data members and code
> remain for the old "bucket" approach.
> The epoll code should also be encapsulated to simplify support for other
> platforms and a possible move
> to an event library.
> The current code is complicated by limitations in Queue which require
> specifying the link field for every
> use, but which can be fixed by in the template.
> Finally, the current code does an unnecessary allocation for the epoll struct
> which should be part of the NetVConnection etc.
> and it takes a lock for the enable_queue which can be avoided by using the
> non-locking AtomicSSL.
> This work is also good preparation for evaluating libev or libevent as it
> will reduce the amount of code which
> will have to be changed.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.