[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,

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