[SOS] kwaitq -> Allocation des kwaitq_entry

Romain LABBE labbe.romain at wanadoo.fr
Lun 14 Nov 19:59:30 CET 2005


Salut,

Merci Thomas, cela repond tout a fait a ma question !
En fait la notion de multithread a ce niveau si bas est tres nouvelle
pour moi, du coup en effet j'ai du mal a voir des évidences comme celle
ci...

Désole pour cette question évidente en fait, je m'emmelle les pinceaux
dans les piles...

Encore Merci
Merci aussi pour le lien TSS

A++

Romain

> -----Message d'origine-----
> De : sos-bounces at the-doors.enix.org 
> [mailto:sos-bounces at the-doors.enix.org] De la part de Thomas Petazzoni
> Envoyé : lundi 14 novembre 2005 14:57
> À : SOS mailing-list
> Objet : Re: [SOS] kwaitq -> Allocation des kwaitq_entry
> 
> 
> Salut,
> 
> Romain LABBE wrote:
> 
> > Mon probleme est simple, je ne trouve pas ou sont allouées les 
> > structures
> > "kwaitq_entry" dans SOS. quelqu'un peut me l'indiquer ?
> 
> Ils sont alloués sur la pile, regarde le début de la fonction
> sos_kwaitq_wait() :
> 
> sos_ret_t sos_kwaitq_wait(struct sos_kwaitq *kwq,
>                           struct sos_time *timeout)
> {
>   sos_ui32_t flags;
>   sos_ret_t retval;
>   struct sos_kwaitq_entry kwq_entry;
> 
>   sos_kwaitq_init_entry(& kwq_entry);
> 
>   [...]
> }
> 
> > Personnellement j'alloue la memoire au moment de l'ajout et 
> la libere 
> > durant le
> > delete, mais si vous n'avez pas fait ca dans SOS c'est pour 
> une bonne raison 
> > j'imagine ? (Performence ?)
> 
> Ce n'est pas vraiment pour les performances, mais surtout que 
> ce n'est pas utile: une allocation sur la pile suffit.
> 
> Cela peut paraître étrange, vu que le processus est mis en 
> attente, mais il faut bien voir que chaque processus possède 
> sa propre pile. Donc lorsque le processus A fait 
> sos_kwait_wait(), on alloue sur la pile de A la 
> sos_kwaitq_entry, et on schedule pour passer au processus B, 
> qui dispose de sa propre pile. Quand le processus A sera 
> réveillé et schedulé, la pile de A sera toujours présente et 
> n'aura pas été modifiée. Elle contiendra donc toujours le 
> sos_kwaitq_entry.
> 
> Est-ce que cela répond à ta question ? Dans tous les cas, 
> n'hésites pas à demander des détails si nécessaire.
> 
> Bonne journée,
> 
> Thomas
> -- 
> Thomas Petazzoni
> thomas.petazzoni at enix.org
> 
> _______________________________________________
> Sos mailing list
> Sos at the-doors.enix.org 
> http://the-doors.enix.org/cgi-> bin/mailman/listinfo/sos
> 




Plus d'informations sur la liste de diffusion Sos