Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a very abstract question about a kernel module writing estimate. How much dev-hours/months may required to write or, especially, port an existant kernel driver for a new PCI HBA from one operating system to another (with different kernel API)? I am porting an already written kernel module for 82599 for Linux kernel to OS X's IOKit and try to get a working alpha. I can't imagine for how long this task may expand in time.

share|improve this question

closed as too localized by Blrfl, gnat, Walter, Dynamic, ChrisF Oct 7 '12 at 11:29

This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

It depends a lot of your experience in programming, your experience in kernel programming, your knowledge of kernel internals, your knowledge of the particular features of your target kernel. I don't think we can give a good estimate. –  Basile Starynkevitch Oct 1 '12 at 17:45
Yes, this sounds reasonable. I asked this question because I scared after reviewing Intel datasheet with 1k pages. –  user36192 Oct 1 '12 at 18:15
add comment

1 Answer

Ivan, the fact that you are asking this suggests that you haven't done much of this sort of work before.

Generally speaking, it doesn't (superficially) sound like an especially time consuming job for someone who is a) familiar with driver development, b) wrote or is very familiar with the original driver on linux, c) is very familiar with the PCI hardware and PCI interfaces, and e) is very familiar with IOKit. Still, it's kernel work, so you should be counting in weeks (alpha sooner).

For each of the conditions above that fail to hold you might expect to add weeks to the time needed in implementing and testing.

Specifically to your problem though, it's really hard to estimate, as there are way too many variables at play. It might take you quite a while to get it right, but you'll learn a lot in the process.

share|improve this answer
add comment