From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15682 invoked by alias); 29 Jun 2004 12:14:33 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 15648 invoked from network); 29 Jun 2004 12:14:31 -0000 Received: from unknown (HELO hermes.chez-thomas.org) (63.225.98.241) by sourceware.org with SMTP; 29 Jun 2004 12:14:31 -0000 Received: by hermes.chez-thomas.org (Postfix, from userid 2000) id 091BB100D21; Tue, 29 Jun 2004 06:14:31 -0600 (MDT) Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by hermes.chez-thomas.org (Postfix) with ESMTP id 2F058100004; Tue, 29 Jun 2004 06:14:30 -0600 (MDT) From: Gary Thomas To: Han Hoekstra Cc: 'Gorjup Matthias' , "''Ecos-Discuss (E-Mail)'" In-Reply-To: <20040629120509.CEA6A100004@hermes.chez-thomas.org> References: <20040629120509.CEA6A100004@hermes.chez-thomas.org> Content-Type: text/plain Organization: MLB Associates Message-Id: <1088511269.6277.67.camel@hermes> Mime-Version: 1.0 Date: Tue, 29 Jun 2004 12:14:00 -0000 Content-Transfer-Encoding: 7bit X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=no version=2.60 X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on hermes.chez-thomas.org Subject: RE: [ECOS] FW: [ECOS] Mailboxes - priorities of messages X-SW-Source: 2004-06/txt/msg00292.txt.bz2 On Tue, 2004-06-29 at 06:05, Han Hoekstra wrote: > Hey, > > I have had the same problem in one of my projects and what I did is trigger > the receive process using a semaphore and have it check multiple mailboxes, > the one with the highest priority first and the one with the lowest priority > last. Also I made my own mailbox implementation which uses the eCos Mailbox > API to implement the actual message queue, the only thing my mailbox does > extra is trigger the semaphore every time a message is placed in the queue, > so that the receive process will start. The sending process only has to > place the message in the correct mailbox, which corresponds to the priority > of the message..... You could also do a similar thing, except instead of a semaphore, use a flag. This is an array of bits and your threads can set/clear them individually, and more importantly wait for them to change state. Use one bit per "priority" of mailbox. Then when one is set, your thread can awaken (ala a semaphore wait/post). This is a lighter solution (a single flag variable vs multiple semaphores), plus when the receiving thread is awakened, it can determine immediately (without any other kernel interaction) which mailbox(es) have data. > > Greetings, > Han > -----Original Message----- > From: ecos-discuss-owner@ecos.sourceware.org > [mailto:ecos-discuss-owner@ecos.sourceware.org] On Behalf Of Gorjup Matthias > Sent: dinsdag 29 juni 2004 12:48 > To: ''Ecos-Discuss (E-Mail)' > Subject: [ECOS] FW: [ECOS] Mailboxes - priorities of messages > > Hello Andrew, > > Here are some details of our mBox problem; > > When more than one thread (task) is using the same mBox to communicate with > one another thread, the send/received mails(messages) has to be kept in a > message qeue. ( or they arrive to mBox and kept in an order qeue). > > In this message qeue, we need to put the process of the messages (mails) in > a prioritisation. For example , a critical mail send by a timeout function > has to be processed before a user request mail which is send through the > same mBox to the same thread. > > I hope this gives you enough info. > > Regards. > Tolga > > > > -----Original Message----- > From: Gorjup Matthias > To: 'Tolga SIMSEK' (E-Mail) > Sent: 29.06.2004 12:34 > Subject: WG: [ECOS] Mailboxes - priorities of messages > > > > -----Ursprungliche Nachricht----- > Von: Andrew Lunn [ mailto:andrew@lunn.ch ] > Gesendet: Dienstag, 29. Juni 2004 11:29 > An: Gorjup Matthias > Cc: 'ecos-discuss@ecos.sourceware.org' > Betreff: Re: [ECOS] Mailboxes - priorities of messages > > > On Tue, Jun 29, 2004 at 10:02:32AM +0200, Gorjup Matthias wrote: > > Hello, > > > > we are porting a special ethernet driver to eCos and we would need to > > implement prioritozed mailbox messages for communication between > threads. Is > > it possible to use priorities for mbox messages? If not, is there some > > > workaround or another solution that we could use? > > Prioritized could mean many different things. Please could you be more > specific. Are you talking about the threads blocking for access to the mbox, > the messages withing the mbox, or some other priority feature. > > Andrew > > -- > Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos > and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss -- Gary Thomas MLB Associates -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss