[Barrelfish-users] How to deal with file I/O on SCC
Simon Peter
speter at inf.ethz.ch
Mon Nov 26 20:13:30 CET 2012
Hi Jinghao,
Both options work. Barrelfish has a filesystem that should be sufficient
for your needs. You can do any of:
1. Include the file in the RAM disk (gzipped or not), by adding it as a
module to the menu.lst.scc file. If you want to gzip it, you have to put
it in a cpio archive and postfix it _ramfs.cpio.gz. Look at the
skb_ramfs.cpio.gz file for reference. Barrelfish has a native file
system interface in include/vfs/vfs.h and both C and POSIX compatible
ones in the standard headers. You might need to call vfs_init() in your
program and link to libvfs.a, but the rest should "just work".
2. Use NFS. You need to have your SCC connected to the network and make
sure that the network driver works.
3. Tweak the linker parameters to include your data as an array directly
in your executable. I don't know why your program just halts when you
set it to a very high address, but it's likely you've put it on top of
other sensitive data structures.
Hope this helps,
Simon
On 12-11-26 03:22 AM, Shi Jinghao wrote:
> Hi,
>
> I'm porting a benchmark program to Barrelfish (SCC). This program
> needs to read input from a file. But I didn't find any file I/O
> interface from the Barrelfish doc or from the source code. Any ideas
> on this?
>
> Currently, I first format the input file and then include it within a
> static array declaration. The expanded array size will be about
> 20M. The following compile error occurs:
>
> /usr/bin/ld: section .data.rel.ro <http://data.rel.ro> loaded at
> [0000000000600000,0000000000600723] overlaps section .rodata loaded at
> [00000000003a39c0,00000000016c7f77]
>
> And from the command line, I found these options:
>
> -Wl,-section-start,.text=0x300000 -Wl,-section-start,.data.rel.ro
> <http://data.rel.ro>=0x600000
>
> Does it mean that the text section must fit in [0x300000, 0x600000]? I
> tried to move the data.rel.ro <http://data.rel.ro> section to some
> other address like 0x6000000, but the program just halts. If
> Barrelfish (scc) doesn't not support file system at the moment, is it
> possible that I tweak these parameters and get the giant array fits ?
>
> Thanks,
> Jinghao
>
>
>
>
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20121126/1ca4741b/attachment.html
More information about the Barrelfish-users
mailing list