[Barrelfish-users] How Barrelfish Manage MPB on SCC?

Shi Jinghao jhshi at cs.hku.hk
Wed Jun 13 12:34:02 CEST 2012


Hi, Stefan,

Thanks for your explanation. They're very helpful. Now I have some idea
about the MPB management in BF.

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.

PS: Sorry for late reply. I'm in a vacation for last few days :-)

Thanks,
Jinghao

On Fri, Jun 8, 2012 at 6:00 PM,
<barrelfish-users-request at lists.inf.ethz.ch>wrote:

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


More information about the Barrelfish-users mailing list