Sponsored Content
Full Discussion: Req:Advanced kernel bible
Top Forums UNIX for Advanced & Expert Users Req:Advanced kernel bible Post 302101068 by gokulagiridaran on Wednesday 27th of December 2006 10:43:24 AM
Old 12-27-2006
Quote:
Originally Posted by Perderabo
Solaris Internals -- Core Kernel Architecture Jim Mauro & Richard McDougall
Understanding the Linux Kernel Daniel P. Bovet & Marco Cesati
Sun Performance and Tuning Adrian Cockcroft
System Performance Tuning Gian-Paolo D. Musumeci & Mike Loukides
wow.. can u plz fwd me the boks.
thanks in advance
gokul.
 

9 More Discussions You Might Find Interesting

1. Solaris

Suggestions Req

Hi all, I have worked on HP UNIX and now i have moved to SunSolaris which i never used to work. I am more on programming side like shell and perl scripting. So i want to know from you experts that i need to take care or changes which i code in sun solaris in compared to HP unix. Suggestions... (1 Reply)
Discussion started by: ravi.sadani19
1 Replies

2. IP Networking

ARP Req Pkt

Does ARP Request packet Contains MAC Address of dest during broadcast? I found It So... When i captured ARP Req Pkts on ethereal... Rgds -Meti (1 Reply)
Discussion started by: ashokmeti
1 Replies

3. Shell Programming and Scripting

(Req)Shell script req

HI All Im new to shell scripting...kindly plz help me... I need a shell script for: We have to take export of all db's on daily basis from all svr's and keep these export backups on diffrent server. Plz help. Regards Gaurav (5 Replies)
Discussion started by: ergauravtaneja
5 Replies

4. IP Networking

advanced nix kernel routing

We have the following setup on several linux servers: eth0 = Internet eth1 = LAN (10.100.X.X) For this example let's say we have: eth0 goes to the internet and the default gateway is set in ifcfg-eth0 Server A has three IPs on the LAN (10.100.0.2, 10.100.22.3, 10.100.33.4) The... (0 Replies)
Discussion started by: scriptrequests
0 Replies

5. Shell Programming and Scripting

Urgent help req with grep + sed

HI all, i have a line in a file it cantains one;two_1_10;two_2_10;two_3_10;three~ now i need to get the output as one;two_1_abc_10;two_2_abc_10;two_3_abc_10;three~ ( 1 should be replaced with 1_abc for two__10 , and one more thing the number of occurances of two_value_10 will be... (1 Reply)
Discussion started by: 2001.arun
1 Replies

6. Shell Programming and Scripting

Req help on writing shell script

My script needs user input within time period of 1 min or may be with within 30 sec. Flow diagram: if (user provides input within 1 min) then script runs on the basis of user input else script runs on the basis of default input(hard coded in the script) .Any help in this script is... (1 Reply)
Discussion started by: pvr_satya
1 Replies

7. Solaris

Help req for Patching on Solaris 10 Zones

Hi Experts, Can advise on this: Global zone running on solaris 10, & the local zones on top running on solaris 9, but we need to patch the solaris 9 local zones & also the solaris 10 global zone. Which should be patched first to avoid any crash in case, first local zones... (1 Reply)
Discussion started by: fizan
1 Replies

8. Shell Programming and Scripting

Splitting file - custom req.

Hello everybody, I have a file to split in a bit different way. My file looks like this: My_file.dat 123333333|01|38|440X|P 384747382|32|31|440X|P 320384743|32|54|420Y|I 843739349|12|43|420Y|I I need to split it into: MYFILE_440X_P.dat 123333333|01|38 384747382|32|31 ... (3 Replies)
Discussion started by: bijou
3 Replies

9. UNIX for Beginners Questions & Answers

Task 1 bible

Hi i have recently started learning Bash scripting to learn a new skill. My boss has assigned me a task but i am struggling to complete it would really be thankful for some help ill put what i have so far: Test1-bible is the directory and each chapter of the bible is a sub-directory hence i... (1 Reply)
Discussion started by: Atreus20
1 Replies
RWLOCK(9)						   BSD Kernel Developer's Manual						 RWLOCK(9)

NAME
rw, rw_init, rw_destroy, rw_enter, rw_exit, rw_tryenter, rw_tryupgrade, rw_downgrade, rw_read_held, rw_write_held, rw_lock_held -- reader / writer lock primitives SYNOPSIS
#include <sys/rwlock.h> void rw_init(krwlock_t *rw); void rw_destroy(krwlock_t *rw); void rw_enter(krwlock_t *rw, const krw_t op); void rw_exit(krwlock_t *rw); int rw_tryenter(krwlock_t *rw, const krw_t op); int rw_tryupgrade(krwlock_t *rw); void rw_downgrade(krwlock_t *rw); int rw_read_held(krwlock_t *rw); int rw_write_held(krwlock_t *rw); int rw_lock_held(krwlock_t *rw); options DIAGNOSTIC options LOCKDEBUG DESCRIPTION
Reader / writer locks (RW locks) are used in the kernel to synchronize access to an object among LWPs (lightweight processes) and soft inter- rupt handlers. In addition to the capabilities provided by mutexes, RW locks distinguish between read (shared) and write (exclusive) access. RW locks are in one of three distinct states at any given time: Unlocked The lock is not held. Read locked The lock holders intend to read the protected object. Multiple callers may hold a RW lock with ``read intent'' simultaneously. Write locked The lock holder intends to update the protected object. Only one caller may hold a RW lock with ``write intent''. The krwlock_t type provides storage for the RW lock object. This should be treated as an opaque object and not examined directly by con- sumers. Note that these interfaces must not be used from a hardware interrupt handler. OPTIONS AND MACROS
options DIANOSTIC Kernels compiled with the DIAGNOSTIC option perform basic sanity checks on RW lock operations. options LOCKDEBUG Kernels compiled with the LOCKDEBUG option perform potentially CPU intensive sanity checks on RW lock operations. FUNCTIONS
rw_init(rw) Initialize a lock for use. No other operations can be performed on the lock until it has been initialized. rw_destroy(rw) Release resources used by a lock. The lock may not be used after it has been destroyed. rw_enter(rw, op) If RW_READER is specified as the argument to op, acquire a read lock. If the lock is write held, the caller will block and not return until the hold is acquired. Callers must not recursively acquire read locks. If RW_WRITER is specified, acquire a write lock. If the lock is already held, the caller will block and not return until the hold is acquired. RW locks and other types of locks must always be acquired in a consistent order with respect to each other. Otherwise, the potential for system deadlock exists. rw_exit(rw) Release a lock. The lock must have been previously acquired by the caller. rw_tryenter(rw, op) Try to acquire a lock, but do not block if the lock is already held. If the lock is acquired successfully, return non-zero. Other- wise, return zero. Valid arguments to op are RW_READER or RW_WRITER. rw_tryupgrade(rw) Try to upgrade a lock from one read hold to a write hold. If the lock is upgraded successfully, returns non-zero. Otherwise, returns zero. rw_downgrade(rw) Downgrade a lock from a write hold to a read hold. rw_write_held(rw) rw_read_held(rw) rw_lock_held(rw) Test the lock's condition and return non-zero if the lock is held (potentially by the current LWP) and matches the specified condition. Otherwise, return zero. These functions must never be used to make locking decisions at run time: they are provided only for diagnostic purposes. PERFORMANCE CONSIDERATIONS
RW locks are subject to high cache contention on multiprocessor systems, and scale poorly when the write:read ratio is not strongly in favour of readers. Ideally, RW locks should only be used in settings when the following three conditions are met: o The data object(s) protected by the RW lock are read much more frequently than written. o The read-side hold time for the RW lock is long (in the order of thousands of processor clock cycles). o Strong synchronization semantics are required: there is no scope for lockless, lazy or optimistic synchronization. Generally speaking, it is better to organise code paths and/or data flows such that fewer and weaker synchronization points are required to ensure correct operation. CODE REFERENCES
The core of the RW lock implementation is in sys/kern/kern_rwlock.c. The header file sys/sys/rwlock.h describes the public interface, and interfaces that machine-dependent code must provide to support RW locks. SEE ALSO
lockstat(8), condvar(9), mb(9), mutex(9) Jim Mauro and Richard McDougall, Solaris Internals: Core Kernel Architecture, Prentice Hall, 2001, ISBN 0-13-022496-0. HISTORY
The RW lock primitives first appeared in NetBSD 5.0. BSD
November 22, 2009 BSD
All times are GMT -4. The time now is 05:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy