The other day I was chasing some lock contention issue with a 64-bit application running on Solaris 10 Update 1; and stumbled with an unexpected dbx crash. My intention is to find the hot locks with the help of dbx's threads, syncs, sync -info <address> commands. (Of course, most of this information can be obtained with modular debugger, mdb, too - but that's a different story). So when I attached the running process to dbx, it crashed, while loading some of the libraries with the following error:dbx: internal error: signal SIGBUS (invalid...
Thursday, 26 January 2006
Friday, 20 January 2006
Manuscripts of Dr. EW Dijkstra
Posted on 00:05 by Unknown
Dr. Edsger W. Dijkstra, who coined the word Structured Programming, doesn't need a special introduction, to all those people in the field of computing. Shortest Path algorithm, semaphores solution to the classic Dining Philosophers problem, notion of invariants, pre- and post-conditions for the correctness of programs, strong case against GO TO statement are some of his contributions to Computer Science. Dr. Dijkstra was also a principal contributor to the development of the ALGOL programming language.Dr. Dijkstra was known for the habit of writing...
Friday, 13 January 2006
Large page support for instructions (text) in Solaris 10 1/06
Posted on 00:13 by Unknown
Solaris 10 Update 1 (aka Solaris 10 1/06) is now available for download, at Sun downloads web site. One of the notable features of this major release is the large page support for instructions. It is a known fact that dTLB/dTSB, iTLB/iTSB miss rates is a bottleneck for very large applications. The system has to spend some time serving the virtual-to-physical memory translations. These translations are expensive, and the time spent in these translations are counted in usr% (CPU).Until the release of Solaris 9, 8K is the only supported page size...
Sunday, 8 January 2006
Sun Studio C/C++: PFO - single feedbin for all executables
Posted on 13:55 by Unknown
(Note: the words "feedbin" and "feedback" are used interchangeably throughout this blog post)It is a known fact that by default compiler arranges to create one profile feedback file for each profiled executable. A profiled binary contains compiler inserted instrumentation code, to collect run-time data (like block execution counts) from it. Compiler inserts instrumentation code, when the original code is compiled with -xprofile=collect compiler option.The default behavior is good enough for small programs or applications with very few executables....
Saturday, 7 January 2006
Real Player 10.x on Solaris 10 (x86 & SPARC)
Posted on 01:28 by Unknown
Here's another instance to show that Solaris is gaining quite a momentum lately, on x86 and SPARC platforms. All these days we were fiddling with RealPlayer binaries targeted for another platform, just to make them work on Solaris x86 platform. Real Player native binaries are now available for both x86 and SPARC versions of Solaris, at Helix community web site. Hooray!These binaries can be downloaded from the following location:http://forms.helixcommunity.org/helix/builds/?category=realplay-stable________Technorati tag: Solaris | OpenSola...
Wednesday, 4 January 2006
C/C++: Loop-invariant optimization
Posted on 00:47 by Unknown
At optimization level 2 (ie., -O2 or -xO2) or higher, Sun Studio C/C++ compilers recognize loop-invariant code and re-arranges it in such a way that it is executed less often (mostly it may get executed only once) than it would be within the loop.Loop-invariant code consists of statements which could be moved to before or after the loop, without affecting the semantics of the program. In simple words, loop-invariant code is the set of instructions inside a loop whose results do not change; and hence can safely be moved out of the loop.Consider...
Subscribe to:
Posts (Atom)