Date: Mon, 24 Aug 2009 21:22:04 +0530 From: Prashant Vaibhav <pvaibhav@freebsd.org> To: soc-status@freebsd.org Subject: callout api final status report Message-ID: <66b068eb0908240852j50434a1aka3f0a9a54afb87ef@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi All, At the end of GSoC, I've achieved 2 of the objectives, while the 3rd and the auxiliary objectives could not be achieved. In summary: 1. Callout subsystem was redesigned to remove the 'wheel' data structure, and was replaced with a binary heap. This should be more efficient specially when rearming existing callouts. Initial testing (outside of kernel) shows good average O(1) performance for random insertions. The queues (min and max heap) is generic and can be used by other subsystems within the kernel. 2. A new callout API was written which consolidates many of the functions of the existing API, in a hardware-independent manner. It is currently implemented as a wrapper over existing API, both of which co-exist in the kernel. A demo of its usage can be found in the iwi driver source code, which was updated to use the new API. 3. To actually make the new API fully hardware independent, kobj is used to define an interface for hardware timers. Timer hardware will register themselves with the callout API and one of them can be chosen as the current timing/callout provider. This part is still in its early stages. More detailed information can be found at the blog post on http://freebsd.mercurysquad.com/ Work on the project is expected to continue until all the original goals are achieved. Best, Prashant Vaibhav
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?66b068eb0908240852j50434a1aka3f0a9a54afb87ef>