- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Porting of PA_RISC applications to itanium and pth...
Categories
Company
Local Language
Forums
Discussions
Forums
- Data Protection and Retention
- Entry Storage Systems
- Legacy
- Midrange and Enterprise Storage
- Storage Networking
- HPE Nimble Storage
Discussions
Forums
Discussions
Discussions
Discussions
Forums
Discussions
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
- BladeSystem Infrastructure and Application Solutions
- Appliance Servers
- Alpha Servers
- BackOffice Products
- Internet Products
- HPE 9000 and HPE e3000 Servers
- Networking
- Netservers
- Secure OS Software for Linux
- Server Management (Insight Manager 7)
- Windows Server 2003
- Operating System - Tru64 Unix
- ProLiant Deployment and Provisioning
- Linux-Based Community / Regional
- Microsoft System Center Integration
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Discussion Boards
Community
Resources
Forums
Blogs
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 02:21 AM
12-12-2003 02:21 AM
If I recompile this application on Itanium then I can create as many threads as I want. I have created a small sample for the repro that I have attached.
Sample consists of two programs.
Server.c which accepts connection from client and spawns of a thread to receive client data
Client.c this code tries to make as many connections as possible to the server.
Build.sh used to compile the above mentioned C code
Repro process:
Unzip the attachement using winzip. Then transfer the files to PA_RISC machines.
Compile Server.c and Client.c on PA_RISC machines in 32 bit mode.
Then move the binaries to itanium machine and run the code. The code should run inside 'Aries'
For Running:
# server
Server will now wait for any incomming clients
# client
And client will now start making connections to the server. server or client program will end whne one of then encounters any errors.
What I found in my case is that server code will terminate after getting 96th connection and trying to create a thread.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 02:34 AM
12-12-2003 02:34 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
IF the code is good, it should work the same way once compiled on both platforms. Perhaps a kernel/resource limit has been hit, or a patch related to threads management is missing.
SEP
Owner of ISN Corporation
http://isnamerica.com
http://hpuxconsulting.com
Sponsor: http://hpux.ws
Twitter: http://twitter.com/hpuxlinux
Founder http://newdatacloud.com
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 02:42 AM
12-12-2003 02:42 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
This code runs properly on PA_RISC m/c when compiled on PA_RISC and runs properly on Itanium machines when compiled on Itanium.
So if there is a missing patch it might be related to binary compatiability. I can't seem to find any patch for that yet.
Any suggestions ?
Cheers,
Sandip
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 03:34 AM
12-12-2003 03:34 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 03:38 AM
12-12-2003 03:38 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
Its currently set to 4000. I did try to manipulate those parameters during last 3 days but did not succeed.
I am sorry to bother you on this but will it be possible for you to run the repro ?
And if it works for you then can you provide me with other important parameters.
Cheers,
Sandip
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 03:40 AM
12-12-2003 03:40 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 04:10 AM
12-12-2003 04:10 AM
Solution- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 04:31 AM
12-12-2003 04:31 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 05:46 AM
12-12-2003 05:46 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
Thanks,
Sandip
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-12-2003 05:58 AM
12-12-2003 05:58 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-15-2003 07:31 AM
12-15-2003 07:31 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
It looks like it really is reaching some resource limit. It might be related to the extra space that is used by the emulation context for each thread.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-17-2003 05:09 AM
12-17-2003 05:09 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
First you need to increase the pa_maxssiz_32bit kernel parameter. (It is documented by "man pa_maxssiz_32bit". That will reserve more space for aries in each process. Changing that parameter does require a reboot.
/usr/sbin/kctune pa_maxssiz_32bit=334594048
/usr/sbin/reboot
Second you need to create a configuration file to instruct aries to use more of that space for the heap which holds thread contexts.
echo '/ -heap_ssz 20400' > /.ariesrc
That will take more of the 32-bit address space, which may interfere with the amount of data that the application wants to allocate. You can use 'chatr +q3p enable a.out' to enable third quadrant private memory for a PA-RISC application. Aries on 11.23 will map that to the new MPAS address space. The mpas mode will allow almost 4GB of total private data, more than even a PA-RISC system could give to many programs.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-18-2003 01:53 PM
12-18-2003 01:53 PM
Re: Porting of PA_RISC applications to itanium and pthreads implication
I am going to give this a try first thing tomorrow morning
Cheers,
Sandip
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-19-2003 02:45 AM
12-19-2003 02:45 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
I tried it but didn't work :-(
Still the same results
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
12-22-2003 11:17 AM
12-22-2003 11:17 AM
Re: Porting of PA_RISC applications to itanium and pthreads implication
heap_ssz of 204000. The number of threads allowed does increase in
proportion to the heap_ssz value. Here are three sets of values and
thread limits that I measured on a system.
pa_maxssiz_32bit heap_ssz threads
83648512 24576 97
167297024 41192 161
334594048 204156 798