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

Reply via email to