[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