Date: Mon, 3 Jan 2011 13:47:57 -1000 (HST) From: Jeff Roberson <jroberson@jroberson.net> To: Poul-Henning Kamp <phk@phk.freebsd.dk> Cc: arch@freebsd.org Subject: Re: Linux kernel compatability Message-ID: <alpine.BSF.2.00.1101031343210.1450@desktop> In-Reply-To: <82826.1294088199@critter.freebsd.dk> References: <82826.1294088199@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 3 Jan 2011, Poul-Henning Kamp wrote: > In message <alpine.BSF.2.00.1101031017110.1450@desktop>, Jeff Roberson writes: > >> I have seen that some attempt at similar wrappers has been made elsewhere. >> I wonder if instead of making each one tailored to individual components, >> which mostly seem to be filesystems so far, should we put this in a >> central place under compat somewhere? > > My inflation devalued $0.02: > > We should face our NIH syndrome and for those differences between > Linux and FreeBSD KPI which are purely a naming or trivial argument > difference, try to reduce the differences. Unfortunately it would create quite a lot of code churn as there are relatively few that are minorly different. You can page through the wrapper code if you're interested. http://svn.freebsd.org/viewvc/base/projects/ofed/head/sys/ofed/include/linux/ > > Those where there are substantial differences, we should only have > one compat layer, not one for each driver. I would like this to be the case. So we can converge on something complete. There are of course big differences between minor linux kernel revisions and that poses problems. However those should be easier than the bsd/linux differences. I think my proposal is to move these files to a more generic location so they are more visible and available to other projects. Maintainers of individual kernel ports would have to decide if they want to use what is there. The other important question is are there really many other places that this would be useful? One example I can think of is network device drivers. If you look at the ipoib port, for example, it's basically linux code + mbufs. It does allow rapid porting if you don't mind having a weird hybrid result. The reason I did it for ipoib was to permit taking in bug fixes and changes from linux. Luigi also did something for usb which I did not bring in. I felt some of his wrapper code was GPL polluted. Thanks, Jeff > > > -- > Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > phk@FreeBSD.ORG | TCP/IP since RFC 956 > FreeBSD committer | BSD since 4.3-tahoe > Never attribute to malice what can adequately be explained by incompetence. >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1101031343210.1450>