Linux kernel compatability
Alexander Kabaev
kabaev at gmail.com
Tue Jan 4 03:29:41 UTC 2011
On Mon, 3 Jan 2011 10:31:24 -1000 (HST)
Jeff Roberson <jroberson at jroberson.net> wrote:
> Hello Folks,
>
> Some of you may have seen my infiniband work proceed in svn. It is
> coming to a close soon and I will be integrating it into current. I
> have a few patches to the kernel to send for review but I wanted to
> bring up the KPI wrapper itself for discussion.
>
> The infiniband port has been done by creating a 10,000 line KPI
> compatability layer. With this layer the vast majority of the driver
> code runs unmodified. The exceptions are anything that interfaces
> with skbs and most of the code that deals with network interfaces.
>
> Some examples of things supported by the wrapper:
>
> atomics, types, bitops, byte order conversion, character devices, pci
> devices, dma, non-device files, idr tables, interrupts, ioremap,
> hashes, kobjects, radix trees, lists, modules, notifier blocks,
> rbtrees, rwlock, rwsem, semaphore, schedule, spinlocks, kalloc, wait
> queues, workqueues, timers, etc.
>
> Obviously a complete wrapper is impossible and I only implemented the
> features that I needed. The build is accomplished by pointing the
> linux compatible code at sys/ofed/include/ which has a simulated
> linux kernel include tree. There are some config(8) changes to help
> this along as well.
>
> 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? Is
> this project doomed to be tied to a single consumer by the specific
> nature of it?
>
> Other comments or concerns?
>
> Thanks,
> Jeff
This probably will go against popular opinion here, but having 10k
linux emulation layer that _almost_ work in the tree will be an
unfortunate event and will do more damage to FreeBSD as a platform than
good in the long run. I would rather see this code never hit main
repository.
--
Alexander Kabaev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 188 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20110104/6e531fe5/signature.pgp
More information about the freebsd-arch
mailing list