Seems like this problem arise only when number of cores is set to 1. When I increase the number of cores, I see that pthread_join is working perfectly. Not sure if this is kind of a limitation. Any idea?
On Fri, Aug 6, 2021 at 11:16 AM krishnan gosakan <krishnan.gosa...@gmail.com> wrote: > Hi Hossein, > I used the m5thread_x86.o file and compiled my sample code (attached with > this mail). I used the following 2 commands to build my file > > gcc -g -O3 -c -o semodePthread.o semodePthread.c > gcc -static -o semodePthread semodePthread.o m5threads_x86.o > > By running semodePthread in gem5 se mode, I see that pthread_create is > succeeding but it gets stuck in pthread_join. Also I see printf in thread > function is not running. > Am I missing something? Or am I building it wrong? > ANy suggestions would be greatly appreciated. > > On Mon, Jul 26, 2021 at 2:03 AM Hossein Golestani <hosse...@umich.edu> > wrote: > >> [I'm resending my reply without the attachments in case they caused it to >> get into the spam folder.] >> >> Hi Krishnan, >> >> I remember that I also failed to build m5threads on a particular system, >> but I managed to build it on another system with a relatively old config (I >> have attached the output m5threads object files for x86 and ARM v7 to this >> email). If I remember correctly, that system had the Linux kernel 3.19 and >> gcc 4.8. You should be able to link the attached object file to your >> multi-threaded program compiled on a system with a newer kernel/compiler. >> Hope this helps. >> >> Thanks, >> Hossein >> >> >> On Sat, Jul 24, 2021 at 11:24 PM krishnan gosakan < >> krishnan.gosa...@gmail.com> wrote: >> >>> Hi Hossein, >>> I tried building m5threads but it failed. What system configuration are >>> you using to build m5threads? >>> What kernel version do you use and what compiler do you use? >>> >>> On Sat, Jul 24, 2021 at 10:28 PM Hossein Golestani <hosse...@umich.edu> >>> wrote: >>> >>>> Hi Krishnan, >>>> >>>> I use m5threads, which is a light-weight alternative for pthread, to >>>> simulate multi-threaded programs in the SE mode: >>>> https://github.com/gem5/m5threads >>>> (I'm not sure if there are any other ways.) >>>> >>>> Thanks, >>>> Hossein >>>> >>>> >>>> On Sat, Jul 24, 2021 at 11:00 AM krishnan gosakan via gem5-users < >>>> gem5-users@gem5.org> wrote: >>>> >>>>> Hi all, >>>>> I am trying to run a code with pthread in gem5 se mode. The code runs >>>>> perfectly when launched from command prompt but pthread_create returns >>>>> error code 11 when run in se mode. Is there anything special I should do >>>>> to >>>>> make pthread run in se mode. From the tests directory, I see that C++ >>>>> std::thread is running perfectly in gem5 se mode. Any help would be >>>>> appreciated. >>>>> Thank you. >>>>> >>>>> Sample code I use in gem5 se mode >>>>> >>>>> #include <stdio.h> >>>>> #include <pthread.h> >>>>> >>>>> void *doWork1(void *arg) >>>>> { >>>>> for (int i=0; i<1000000000; i++) >>>>> ; >>>>> printf("work completed\n"); >>>>> } >>>>> >>>>> int main() >>>>> { >>>>> pthread_t thread; >>>>> int error = pthread_create(&thread, NULL, doWork1, NULL); >>>>> if (error == 0) >>>>> { >>>>> printf("thread created\n"); >>>>> pthread_join(thread, NULL); >>>>> printf("thread work complete\n"); >>>>> } >>>>> else >>>>> { >>>>> printf("error in thread creation %d\n",error); >>>>> } >>>>> return 0; >>>>> } >>>>> >>>>> -- >>>>> Regards, >>>>> Krishnan. >>>>> _______________________________________________ >>>>> gem5-users mailing list -- gem5-users@gem5.org >>>>> To unsubscribe send an email to gem5-users-le...@gem5.org >>>>> %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s >>>> >>>> >>> >>> -- >>> Regards, >>> Krishnan. >>> >> > > -- > Regards, > Krishnan. > -- Regards, Krishnan.
_______________________________________________ gem5-users mailing list -- gem5-users@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org %(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s