Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Aug 2010 16:49:12 -0400
From:      John Baldwin <jhb@freebsd.org>
To:        Jeff Roberson <jeff@freebsd.org>
Cc:        svn-src-projects@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r211770 - projects/ofed/head/sys/ofed/include/linux
Message-ID:  <201008241649.12997.jhb@freebsd.org>
In-Reply-To: <201008242040.o7OKeC1O087142@svn.freebsd.org>
References:  <201008242040.o7OKeC1O087142@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, August 24, 2010 4:40:12 pm Jeff Roberson wrote:
> Author: jeff
> Date: Tue Aug 24 20:40:12 2010
> New Revision: 211770
> URL: http://svn.freebsd.org/changeset/base/211770
> 
> Log:
>    - Provide a mmap_single interface as well as mmap.  mmap_single gives
>      the device pager an offset based on the physical address returned by
>      the linux mmap handler so that the normal mmap handler can simply
>      return the offset as the paddr when a fault happens and we no longer
>      have the context required to resolve the address.

You could preserve the memory attributes by using the attribute from vma to 
set the memory attribute for the VM object you create.  I'm not sure how well 
the system will cope with having multiple OBJT_DEVICE objects for a single 
cdev btw.  You could use an OBJT_SG object instead if that proves to be a 
problem.  It would also avoid the d_mmap callback at page fault time.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201008241649.12997.jhb>