From: Sam Lang <sam.lang@inktank.com>
To: Sage Weil <sage@inktank.com>
Cc: Jimmy Tang <jtang@tchpc.tcd.ie>,
Noah Watkins <noah.watkins@inktank.com>,
Gregory Farnum <greg@inktank.com>,
ceph-devel@vger.kernel.org
Subject: Re: [ceph-commit] [ceph/ceph] e6a154: osx: compile on OSX
Date: Mon, 10 Dec 2012 07:11:44 -1000 [thread overview]
Message-ID: <50C617D0.30005@inktank.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1212100901110.17288@cobra.newdream.net>
On 12/10/2012 07:01 AM, Sage Weil wrote:
> On Mon, 10 Dec 2012, Jimmy Tang wrote:
>>
>> On 9 Dec 2012, at 18:22, Noah Watkins wrote:
>>
>>> On Sun, Dec 9, 2012 at 10:05 AM, Gregory Farnum <greg@inktank.com> wrote:
>>>> Oooh, very nice! Do you have a list of the dependencies that you actually needed to install?
>>>
>>> I can put that together. They were boost, gperf, fuse4x, cryptopp. I
>>> think that might have been it.
>>>
>>
>> Is libaio really needed to build ceph-fuse? I use macports on my system
>> and the last time I tried to make a change set to let ceph/ceph-fuse
>> build on my laptop failed as I didn't have libaio, though I could just
>> write a port for it.
>
> libaio is only used by ceph-osd. Not needed by fuse.
An alternative on OSX could be aio-lite:
https://trac.mcs.anl.gov/projects/aio-lite
It might perform better on linux as well because of the request
serialization there, although that library was implemented a few years
ago, and the linux implementation may have improved significantly since
then. It also wouldn't be hard to do something similar with ceph thread
structures instead of depending on an external library like this one.
-sam
>
> sage
>
>
>>
>>>> Apart from breaking this up into smaller patches, we'll also want to reformat some of it. Rather than sticking an #if APPLE on top of every spin lock, we should have utility functions that do this for us. ;)
>>>
>>> Definitely. OSX has spinlock implementations for user space, but it's
>>> going to take some reading. For example, spinlocks in Ceph are
>>> initialized for shared memory, rather than the default private. It
>>> isn't clear from documentation what the semantics are of OSX
>>> spinlocks, nor is it clear if the shared memory attribute is needed.
>>>
>>>> Also, we should be able to find libatomic_ops for OS X (its parent project works under OS X), and we can use that to construct a spin lock if we think it'll be useful. I'm not too sure how effective its muteness are at spinlock-y workloads.
>>>
>>> This patch set uses the OSX atomic inc/dec ops, rather than spinlocks.
>>>
>>> Another fun fact:
>>>
>>> msg/Pipe.cc and common/pipe.c are compiled into libcommon_la-Pipe.o
>>> and libcommon_la-pipe.o, but HFS+ is case-insensitive by default.
>>> Result is duplicate symbols. That took a while to figure out :P
>>>
>>
>> good catch, that might explain why my last look at ceph on osx failed so miserably.
>>
>>
>> Jimmy.
>>
>> --
>> Senior Software Engineer, Digital Repository of Ireland (DRI)
>> Trinity Centre for High Performance Computing,
>> Lloyd Building, Trinity College Dublin, Dublin 2, Ireland.
>> http://www.tchpc.tcd.ie/ | jtang@tchpc.tcd.ie
>> Tel: +353-1-896-3847
>>
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at http://vger.kernel.org/majordomo-info.html
>>
>>
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2012-12-10 17:11 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <50c4cd4dabe04_4126fc8af02216d@sh2.rs.github.com.mail>
2012-12-09 18:05 ` [ceph-commit] [ceph/ceph] e6a154: osx: compile on OSX Gregory Farnum
2012-12-09 18:22 ` Noah Watkins
2012-12-10 16:52 ` Jimmy Tang
2012-12-10 17:01 ` Sage Weil
2012-12-10 17:11 ` Sam Lang [this message]
2012-12-13 8:43 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=50C617D0.30005@inktank.com \
--to=sam.lang@inktank.com \
--cc=ceph-devel@vger.kernel.org \
--cc=greg@inktank.com \
--cc=jtang@tchpc.tcd.ie \
--cc=noah.watkins@inktank.com \
--cc=sage@inktank.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.