Commit c1606346 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent b819265e
...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
# See COPYING file for full licensing terms. # See COPYING file for full licensing terms.
# See https://www.nexedi.com/licensing for rationale and options. # See https://www.nexedi.com/licensing for rationale and options.
from golang.pyx.build import setup, Extension as PyGoExt, build_ext as _build_ext from golang.pyx.build import setup, Extension as PyGoExt, build_ext as _build_ext
from setuptools import Extension, Command, find_packages from setuptools_dso import DSO, Extension
from setuptools import Command, find_packages
from setuptools.command.build_py import build_py as _build_py from setuptools.command.build_py import build_py as _build_py
from pkg_resources import working_set, EntryPoint from pkg_resources import working_set, EntryPoint
from distutils.errors import DistutilsExecError from distutils.errors import DistutilsExecError
...@@ -28,17 +29,53 @@ import os ...@@ -28,17 +29,53 @@ import os
import sys import sys
_bigfile = Extension('wendelin.bigfile._bigfile', libvirtmem = DSO('wendelin.bigfile.libvirtmem',
sources = [ ['bigfile/pagefault.c',
'bigfile/_bigfile.c',
'bigfile/pagefault.c',
'bigfile/pagemap.c', 'bigfile/pagemap.c',
'bigfile/ram.c', 'bigfile/ram.c',
'bigfile/ram_shmfs.c', 'bigfile/ram_shmfs.c',
'bigfile/ram_hugetlbfs.c', 'bigfile/ram_hugetlbfs.c',
'bigfile/virtmem.c', 'bigfile/virtmem.c',
'lib/bug.c', 'lib/bug.c',
'lib/utils.c', 'lib/utils.c'],
include_dirs = [ # XXX dup
'./include',
'./3rdparty/ccan',
'./3rdparty/include'
],
define_macros = [('_GNU_SOURCE',None)], # XXX dup
extra_compile_args = [ # XXX dup
'-std=gnu99', # declarations inside for-loop
'-fplan9-extensions', # anonymous-structs + simple inheritance
'-fvisibility=hidden', # by default symbols not visible outside DSO
# # in C99 declaration after statement is ok, and we explicitly compile with -std=gnu99.
# # Python >= 3.4 however adds -Werror=declaration-after-statement even for extension
# # modules irregardless of their compilation flags:
# #
# # https://bugs.python.org/issue21121
# #
# # ensure there is no warnings / errors for decl-after-statements.
# '-Wno-declaration-after-statement',
# '-Wno-error=declaration-after-statement',
],
extra_link_args = [
'-Wl,--no-undefined', # check DSO for undefined symbols at link time
]
)
_bigfile = Extension('wendelin.bigfile._bigfile',
sources = [
'bigfile/_bigfile.c',
#'bigfile/pagefault.c',
#'bigfile/pagemap.c',
#'bigfile/ram.c',
#'bigfile/ram_shmfs.c',
#'bigfile/ram_hugetlbfs.c',
#'bigfile/virtmem.c',
#'lib/bug.c',
#'lib/utils.c',
], ],
include_dirs = [ include_dirs = [
'./include', './include',
...@@ -67,6 +104,8 @@ _bigfile = Extension('wendelin.bigfile._bigfile', ...@@ -67,6 +104,8 @@ _bigfile = Extension('wendelin.bigfile._bigfile',
#extra_link_args = [ #extra_link_args = [
# '-Wl,--no-undefined', # check DSO for undefined symbols at link time # '-Wl,--no-undefined', # check DSO for undefined symbols at link time
#] #]
dsos = ['wendelin.bigfile.libvirtmem'],
) )
...@@ -229,6 +268,7 @@ setup( ...@@ -229,6 +268,7 @@ setup(
keywords = 'bigdata out-of-core numpy virtual-memory', keywords = 'bigdata out-of-core numpy virtual-memory',
x_dsos = [libvirtmem],
ext_modules = [ ext_modules = [
_bigfile, _bigfile,
......
...@@ -229,8 +229,8 @@ void _Conn::_pin1(PinReq *req) { ...@@ -229,8 +229,8 @@ void _Conn::_pin1(PinReq *req) {
//trace("\tremmapblk %d @%s" % (req->blk, (h(req.at) if req.at else "head"))) //trace("\tremmapblk %d @%s" % (req->blk, (h(req.at) if req.at else "head")))
// check if virtmem did not dirtied page corresponding to this block already // check if virtmem did not dirtied page corresponding to this block already
// XXX reenable (link to libbigfile dso) // XXX reenable (link to libbigfile dso)
#if 0
virt_lock(); virt_lock();
#if 0
TODO (mmap->file->blksize != mmap->fileh->ramh->ram->pagesize); TODO (mmap->file->blksize != mmap->fileh->ramh->ram->pagesize);
if (!__fileh_page_isdirty(mmap->fileh, req->blk)) { if (!__fileh_page_isdirty(mmap->fileh, req->blk)) {
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment