Hi, Stefan,<div><br></div><div>Thanks for your explanation. They're very helpful. Now I have some idea about the MPB management in BF.</div><div><br></div><div>I can see that the ring buffer's unit is a cache line (32 bytes), while we just use 4 bytes of this 32 bytes to store the chanid. This seems to be a waste of the MPB. I can understand that this way is simpler considering the existence of Write Combine Buffer. But I'd like to know if there're any on-going effort to make this ring buffer more compact so that we can get a larger buffer size or spare some MPB space for other usage.</div>
<div><br></div><div>PS: Sorry for late reply. I'm in a vacation for last few days :-)</div><div><br></div><div>Thanks,</div><div>Jinghao<br><br><div class="gmail_quote">On Fri, Jun 8, 2012 at 6:00 PM, <span dir="ltr"><<a href="mailto:barrelfish-users-request@lists.inf.ethz.ch" target="_blank">barrelfish-users-request@lists.inf.ethz.ch</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Send Barrelfish-users mailing list submissions to<br>
<a href="mailto:barrelfish-users@lists.inf.ethz.ch">barrelfish-users@lists.inf.ethz.ch</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:barrelfish-users-request@lists.inf.ethz.ch">barrelfish-users-request@lists.inf.ethz.ch</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:barrelfish-users-owner@lists.inf.ethz.ch">barrelfish-users-owner@lists.inf.ethz.ch</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of Barrelfish-users digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. Re: How Barrelfish Manage MPB on SCC? (Stefan K?stle)<br>
2. Re: Compiling barrelfish without -O2? (Kornilios Kourtis)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 7 Jun 2012 12:54:22 +0200<br>
From: Stefan K?stle <<a href="mailto:stefan.kaestle@inf.ethz.ch">stefan.kaestle@inf.ethz.ch</a>><br>
Subject: Re: [Barrelfish-users] How Barrelfish Manage MPB on SCC?<br>
To: <<a href="mailto:barrelfish-users@lists.inf.ethz.ch">barrelfish-users@lists.inf.ethz.ch</a>><br>
Message-ID: <<a href="mailto:4FD0885E.4050404@inf.ethz.ch">4FD0885E.4050404@inf.ethz.ch</a>><br>
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed<br>
<br>
Hi,<br>
<br>
> 1. In /kernel/arch/scc/rck.c, there are some functions which seems not<br>
> defined, such as rck_tas_rd_raw, rck_initialize, etc. Although I can<br>
> see that they are wraps of low level assembly code, but I can not find<br>
> their definition anywhere in the source tree. Can someone kindly point<br>
> it out?<br>
These functions are automatically generated by Mackerel from<br>
dev/rck.dev. The generated file will end up in<br>
<build>/scc/include/dev/rck_dev.h as<br>
static inline uint32_t __DP(tas_rd_raw)( __DN(t) * _dev, int _i )<br>
<br>
> 2. I know that RCK inter-connect driver use MPB as notification<br>
> buffer, but I didn't find the code that manage this MPB space. Can<br>
> someone point out where the RCK backend is implemented? I was also<br>
> wondering how much MPB space is left and whether user application can<br>
> touch these left MPB space.<br>
They are configured in kernel/arch/scc/rck.c<br>
Have a look at functions rck_send_notification and<br>
rck_handle_notification. Notifications are stored in a ring-buffer. The<br>
size of this ring-buffer is defined as RING_SIZE. You can vary the size<br>
accordingly. Don't set the value too small. Last time I checked,<br>
overflows were not handled properly (an assertion will fail in case it<br>
does overflow).<br>
The default configuration will use up pretty much all MPB space (255<br>
entries in the ring-buffer at 32 Bytes = 8160 Bytes with MPB being 8192<br>
Bytes)<br>
<br>
Hope that helps<br>
<br>
--<br>
Stefan<br>
<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Fri, 8 Jun 2012 10:40:06 +0200<br>
From: Kornilios Kourtis <<a href="mailto:kornilios.kourtis@inf.ethz.ch">kornilios.kourtis@inf.ethz.ch</a>><br>
Subject: Re: [Barrelfish-users] Compiling barrelfish without -O2?<br>
To: Patrik Ekl?f <<a href="mailto:peklof@kth.se">peklof@kth.se</a>><br>
Cc: "<a href="mailto:barrelfish-users@lists.inf.ethz.ch">barrelfish-users@lists.inf.ethz.ch</a>"<br>
<<a href="mailto:barrelfish-users@lists.inf.ethz.ch">barrelfish-users@lists.inf.ethz.ch</a>><br>
Message-ID: <<a href="mailto:20120608084006.GA20658@sgd-dalcoi5-20.ethz.ch">20120608084006.GA20658@sgd-dalcoi5-20.ethz.ch</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
Hi Patrik,<br>
<br>
On Wed, Jun 06, 2012 at 03:32:40PM +0000, Patrik Ekl?f wrote:<br>
> I've been trying to compile BF with the -O2 flag, in order to disable<br>
> all optimizations to debug BF properly, but it seems that it always<br>
> fails if I do that.<br>
> The error I am getting is:<br>
><br>
> [localhost debug_build]$ make<br>
[snip]<br>
<br>
Sorry for the late reply. One thing you could do is to disable<br>
optimizations locally by modifying Hakefiles. If you are not familiar<br>
with hake, grepping for addCFlags and omitCFlags in Hakefiles would be a<br>
good start.<br>
<br>
cheers,<br>
Kornilios.<br>
<br>
--<br>
Kornilios Kourtis<br>
<br>
<br>
<br>
------------------------------<br>
<br>
_______________________________________________<br>
Barrelfish-users mailing list<br>
<a href="mailto:Barrelfish-users@lists.inf.ethz.ch">Barrelfish-users@lists.inf.ethz.ch</a><br>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a><br>
<br>
<br>
End of Barrelfish-users Digest, Vol 29, Issue 8<br>
***********************************************<br>
<br>
</blockquote></div><br></div>