<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/ofed/include/linux/linux_compat.c, branch releng/10.3</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F10.3</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F10.3'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2016-01-23T17:08:17Z</updated>
<entry>
<title>MFC 294366:</title>
<updated>2016-01-23T17:08:17Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2016-01-23T17:08:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=846f722c10cd511af34130ab9ec13a475c50ff96'/>
<id>urn:sha1:846f722c10cd511af34130ab9ec13a475c50ff96</id>
<content type='text'>
Initialize vm_page_prot to VM_MEMATTR_DEFAULT instead of 0.

If a driver's Linux mmap callback passed vm_page_prot through unchanged,
then linux_dev_mmap_single() would try to apply whatever VM_MEMATTR_xxx
value 0 is to the mapping.  On x86, VM_MEMATTR_DEFAULT is the PAT value
for write-back (WB) which is 6, while 0 maps to the PAT value for
uncacheable (UC).  Thus, any mmap request that did not explicitly set
page_prot was tried to map memory as UC triggering the warning in
sg_pager_getpages().

Sponsored by:	Chelsio Communications
</content>
</entry>
<entry>
<title>MFC r289563,r291481,r292537,r292538,r292542,r292543,r292544 and r292834:</title>
<updated>2016-01-04T09:37:05Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2016-01-04T09:37:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=934e403c1255b369abd906a9b41075d58f41a359'/>
<id>urn:sha1:934e403c1255b369abd906a9b41075d58f41a359</id>
<content type='text'>
Update the LinuxKPI:
- Add more functions and types.
- Implement ACCESS_ONCE(), WRITE_ONCE() and READ_ONCE().
- Implement sleepable RCU mechanism using shared exclusive locks.
- Minor workqueue cleanup:
  - Make some functions global instead of inline to ease debugging.
  - Fix some minor style issues.
- In the zero delay case in queue_delayed_work() use the return value
  from taskqueue_enqueue() instead of reading "ta_pending" unlocked and
  also ensure the callout is stopped before proceeding.
- Implement drain_workqueue() function.
- Reduce memory consumption when allocating kobject strings in the
  LinuxKPI. Compute string length before allocating memory instead of
  using fixed size allocations. Make kobject_set_name_vargs() global
  instead of inline to save some bytes when compiling.

Sponsored by:	Mellanox Technologies
</content>
</entry>
<entry>
<title>MFC 287440:</title>
<updated>2015-09-11T00:20:15Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2015-09-11T00:20:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=66c9f0d0716c5d1bf852cebdf80d1010b33eaca3'/>
<id>urn:sha1:66c9f0d0716c5d1bf852cebdf80d1010b33eaca3</id>
<content type='text'>
Currently the Linux character device mmap handling only supports mmap
operations that map a single page that has an associated vm_page_t.
This does not permit mapping larger regions (such as a PCI memory
BAR) and it does not permit mapping addresses beyond the top of RAM
(such as a 64-bit BAR located above the top of RAM).

Instead of using a single OBJT_DEVICE object and passing the physaddr via
the offset as a hack, create a new sglist and OBJT_SG object for each
mmap request. The requested memory attribute is applied to the object
thus affecting all pages mapped by the request.

Sponsored by:	Chelsio
</content>
</entry>
<entry>
<title>MFC r285088:</title>
<updated>2015-07-11T21:59:15Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2015-07-11T21:59:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8dd6e00db804b18c078e73d95f665a2d0cd9979b'/>
<id>urn:sha1:8dd6e00db804b18c078e73d95f665a2d0cd9979b</id>
<content type='text'>
Fix broken implementation of "kvasprintf()" function by adding missing
kmalloc() call. Make function global instead of static inline to fix
compiler warnings about passing variable argument lists to inline
functions.

Sponsored by:   Mellanox Technologies
Approved by:	re, gjb
</content>
</entry>
<entry>
<title>MFC r277396, r278681, r278865, r278924, r279205, r280208,</title>
<updated>2015-05-05T20:58:12Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2015-05-05T20:58:12Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=afc299e6eab86c9753e0c4752e8c92b13c850c0c'/>
<id>urn:sha1:afc299e6eab86c9753e0c4752e8c92b13c850c0c</id>
<content type='text'>
  r280210, r280764 and r280768:

Update the Linux compatibility layer:
- Add more functions.
- Add some missing includes which are needed when the header files
  are not included in a particular order.
- The kasprintf() function cannot be inlined due to using a variable
  number of arguments. Move it to a C-file.
- Fix problems about 32-bit ticks wraparound and unsigned long
  conversion. Jiffies or ticks in FreeBSD have integer type and are
  not long.
- Add missing "order_base_2()" macro.
- Fix BUILD_BUG_ON() macro.
- Declare a missing symbol which is needed when compiling without -O2
- Clean up header file inclusions in the linux/completion.h, linux/in.h
  and linux/fs.h header files.

Sponsored by:	Mellanox Technologies
</content>
</entry>
<entry>
<title>MFC r280211:</title>
<updated>2015-03-25T10:44:09Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2015-03-25T10:44:09Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7aa1d2523423b9dce3f5f44285ef95bd0d65c910'/>
<id>urn:sha1:7aa1d2523423b9dce3f5f44285ef95bd0d65c910</id>
<content type='text'>
Add missing void pointer argument to SYSINIT() functions.

Sponsored by:   Mellanox Technologies
</content>
</entry>
<entry>
<title>MFC r276749:</title>
<updated>2015-01-13T17:07:30Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2015-01-13T17:07:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=549a41267decaba93c397c6adae35d5d221ad6db'/>
<id>urn:sha1:549a41267decaba93c397c6adae35d5d221ad6db</id>
<content type='text'>
Fixes and updates for the Linux compatibility layer:
- Remove unsupported "bus" field from "struct pci_dev".
- Fix logic inside "pci_enable_msix()" when the number of allocated
  interrupts are less than the number of available interrupts.
- Update header files included from "list.h".
- Ensure that "idr_destroy()" removes all entries before destroying
  the IDR root node(s).
- Set the "device-&gt;release" function so that we don't leak memory at
  device destruction.
- Use FreeBSD's "log()" function for certain debug printouts.
- Put parenthesis around arguments inside the min, max, min_t and max_t macros.
- Make sure we don't leak file descriptors by dropping the extra file
  reference counts done by the FreeBSD kernel when calling falloc()
  and fget_unlocked().

MFC after:	1 week
Sponsored by:	Mellanox Technologies
</content>
</entry>
<entry>
<title>MFC r270710 and r270821:</title>
<updated>2014-09-04T20:12:36Z</updated>
<author>
<name>Hans Petter Selasky</name>
<email>hselasky@FreeBSD.org</email>
</author>
<published>2014-09-04T20:12:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=628c42ed43e0fe7ea14aec3dfcb56b320555c062'/>
<id>urn:sha1:628c42ed43e0fe7ea14aec3dfcb56b320555c062</id>
<content type='text'>
- Update the OFED Linux Emulation layer as a preparation for a
hardware driver update from Mellanox Technologies.
- Remove empty files from the OFED Linux Emulation layer.
- Fix compile warnings related to printf() and the "%lld" and "%llx"
format specifiers.
- Add some missing 2-clause BSD copyrights.
- Add "Mellanox Technologies, Ltd." to list of copyright holders.
- Add some new compatibility files.
- Fix order of uninit in the mlx4ib module to avoid crash at unload
using the new module_exit_order() function.

Sponsored by:	Mellanox Technologies
</content>
</entry>
<entry>
<title>Update OFED to Linux 3.7 and update Mellanox drivers.</title>
<updated>2013-09-29T00:35:03Z</updated>
<author>
<name>Alfred Perlstein</name>
<email>alfred@FreeBSD.org</email>
</author>
<published>2013-09-29T00:35:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c9f432b7ba4bf134850b4a5028fae94f63ca274c'/>
<id>urn:sha1:c9f432b7ba4bf134850b4a5028fae94f63ca274c</id>
<content type='text'>
Update the OFED Infiniband core to the version supplied in Linux
version 3.7.

The update to OFED is nearly all additional defines and functions
with the exception of the addition of additional parameters to
ib_register_device() and the reg_user_mr callback.

In addition the ibcore (Infiniband core) and ipoib (IP over Infiniband)
have both been made into completely loadable modules to facilitate
testing of the OFED stack in FreeBSD.

Finally the Mellanox Infiniband drivers are now updated to the
latest version shipping with Linux 3.7.

Submitted by: Mellanox FreeBSD driver team:
                Oded Shanoon (odeds mellanox.com),
                Meny Yossefi (menyy mellanox.com),
                Orit Moskovich (oritm mellanox.com)

Approved by: re
</content>
</entry>
<entry>
<title>Make sendfile() a method in the struct fileops.  Currently only</title>
<updated>2013-08-15T07:54:31Z</updated>
<author>
<name>Gleb Smirnoff</name>
<email>glebius@FreeBSD.org</email>
</author>
<published>2013-08-15T07:54:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ca04d21d5fdff6e58af745766024088091fe3d90'/>
<id>urn:sha1:ca04d21d5fdff6e58af745766024088091fe3d90</id>
<content type='text'>
vnode backed file descriptors have this method implemented.

Reviewed by:	kib
Sponsored by:	Nginx, Inc.
Sponsored by:	Netflix
</content>
</entry>
</feed>
