- Community Home
- >
- Servers and Operating Systems
- >
- Operating Systems
- >
- Operating System - HP-UX
- >
- Re: Multithread mmap access problem
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
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
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
03-24-2005 07:53 PM - last edited on 03-29-2013 12:42 AM by Cathy_xu
03-24-2005 07:53 PM - last edited on 03-29-2013 12:42 AM by Cathy_xu
Multithread mmap access problem
Hi,
I'm having some problems with multiple pthreads that are locked to processors accessing a file mapped with mmap() with MAP_SHARED, MAP_GLOBAL, and MAP_FILE flags. We're working with a 4 processor rx4640 system running HPUX 11.23.
The application involved has 4 total threads. Three of the threads are bound to processors 2, 3, and 4 with pset_bind. The application is also running at rtprio 0. The threads bound to processors are meant to run continuously without interruption. The fourth thread runs freely on processor 1.
The mmap'd files are large. The fourth unbound thread is mainly intended to perform the expensive unmap operations on the large files. The problem is this: When this fourth thread performs the unmap, the bound thread that was performing writes to the memory map gets kicked off the processor until the unmap is finished. Although top is not always a correct indicator, in this instance it shows this processor going to 0% until unmap is finished.
Is there a problem in the type of flags we're passing to the mmap call which is keeping the mmap from being in the global memory? The unbound thread seems to be running on the bound thread's processor in order to unmap the mapped file from that processor's address space. When this happens, the locked thread is kicked off the processor which is exactly what we're trying to prevent. Is there a way around this?
Thanks again in advance for the help. This has been a tough one.
Moved from HP-UX Technical Documentation to HP-UX > languages
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-11-2005 05:25 AM
04-11-2005 05:25 AM