| |
My head hurts ...
Michael Tibbetts' Blog
All
|
General
|
Java
|
Music
Friday December 09, 2005 |
|
< EOT >
( Dec 09 2005, 08:13:56 AM CST / Dec 09 2005, 08:08:07 AM CST )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/eot
|
|
|
Friday November 11, 2005 |
|
One of *the* best parts about working at Sun is the opportunity to see
and become involved in all of the truly amazing work being done here.
Earlier this week I saw a news flash come by on our internal news
portal about Richard and his ACM Queue Article. The way in which Sun is tackling the CMT problem, with the entire system perspective in mind is very exciting.
This also presented a good opportunity to suggest to Richard that there
is a certain award winning picture of him that may have generated more
interest than the corporate mug shot they used for that Sunweb article
;)
( Nov 11 2005, 05:04:50 PM CST / Nov 11 2005, 09:00:00 PM CST )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/cmt_and_a_velvet_elvis
|
|
|
Tuesday October 11, 2005 |
|
The 2005 NAS Conference is just around
the bend. The event starts next Tuesday, October 18th in Santa Clara.
It's not too late to register. The agenda is packed and the early look
I've had of the presentations have been very interesting. Hope to see
you there.
www.nasconf.com
( Oct 11 2005, 05:03:18 PM CDT / Oct 11 2005, 07:00:40 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/nas_conference_2005
A Thread of Grace: Review
My wife just finished up with A Thread of Grace
for her bookclub so this weekend I got my chance to read it. Overall,
this was a didisappointment. The potential for a great novel was there,
but it suffered due to poor execution. Writing in the multi-character
perspective is challenging for the best of writers, unfortunately Mary
Doria Russell wasn't up to the challenge. The novel is very fragmented
and choppy. I'm still a fan of the author and the concept was good,
best of luck on the next one (I hope it doesn't take another 7 years).
( Oct 11 2005, 01:23:38 PM CDT / Oct 11 2005, 03:30:38 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/a_thread_of_grace_review
|
|
|
Friday September 09, 2005 |
|
As I've mentioned before (although I mispelled her name), I'm a big fan of Mary Doria Russell. Her debut works The Sparrow and Children of God are great books. She's got a new novel out called A Thread of Grace.
My wife is using it for her book club this month, so I'll have to wait
a couple of weeks before stealing it away. Reviews so far indicate this
is a thoughtful book that challenges the reader. I can't wait.
( Sep 09 2005, 01:43:14 PM CDT / Sep 09 2005, 05:00:33 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/a_thread_of_grace
|
|
|
Friday June 17, 2005 |
|
Scuzzy SCSI Configuration
The good, the bad, the dirty laundry it
all comes out now with OpenSolaris. So I'll take the opportunity to air a small
bit of the good, bad and dirty laundry associated with the Solaris SCSI and
Fibre Channel disk drivers. I worked on these drivers in a prior life at Sun
and even got a putback or two into Solaris 10 before moving on to different
things.
The primary functions of a device driver are
to adhere to an OS interface and control a device (duh!). The Solaris target
disk drivers support a very wide range of devices that go beyond what you might
expect, to include everything from an internal SCSI drive or CD ROM to an
enterprise class multi-terabyte Fibre Channel array. Over time the need has
arisen to control unique device behavior at the SCSI command layer which is
administered via the Solaris target disk drivers (e.g. sd, ssd). By default
these drivers will support any SCSI or Fibre Channel disk or CD ROM device. The
device table is used to enable behavior that differs from the default.
This unique configuration is implemented
via the driver device table (or .conf file, more on that below).
http://cvs.opensolaris.org/source/xref/usr/src/uts/common/io/scsi/targets/sd.c#507
Currently this table is used to primarily configure
retries, throttling, and sundry behaviors. Take a look at the header file for
the complete list of configurable behaviors:
http://cvs.opensolaris.org/source/xref/usr/src/uts/common/sys/scsi/targets/sddef.h#1636
So far so good. Using the device table you
can configure a set of behaviors for a device matched on its vid (vendor), pid
(product/model) and revision strings as defined by its response to the SCSI
INQUIRY command. The implementation behind this is a pretty simple bit mask, each
bit indicates that a particular behavior needs to be set uniquely from the
default. Here's the source for that processing:
http://cvs.opensolaris.org/source/xref/usr/src/uts/common/io/scsi/targets/sd.c#3432
Now we move on to the bad and the
downright ugly. Starting with this little gem of a comment:
1635 /*
1636 * Driver Property Bit Flag
definitions
1637 *
1638 * Unfortunaltely, for
historical reasons, the bit-flag definitions are
1639 * different on SPARC, INTEL,
& FIBRE platforms.
1640 */
Nope, I'm not talking about the misspelling
of "unfortunately" (although that's a shame), I'm talking about the fact that
the bit-flag definitions are different between platforms and device types. This
means that setting bit 3 to modify the Not Ready Retry value on the Sparc platform
for a SCSI device is used to set the Busy retry value on the Sparc platform for
a fibre channel device. Ugh!!! Why? This is the result of a long and sordid
history having to do with separate and divergent source files for the sd and
ssd driver that have been brought back together over time starting with Solaris
9 and now with Solaris 10. As the source files were brought back together, we ensured
that when new configurable options were added they are done so using the same
bit for all platforms and device types.
All of this results in a truly hideous
nest of #ifdefs that you see in the device
table, and the header file bit
definitions. The resulting morass makes it very difficult to determine the
proper bitset for a specific platform and device table. Having spent more time
than I care to remember wading through this crud I put together the table you
see below.
|
Bit
|
sd (Sparc)
|
ssd (Sparc)
|
sd/ssd (x86/x64)
|
|
0
|
throttle (max)
|
throttle (max)
|
throttle (max)
|
|
1
|
controller type
|
not ready retries
|
controller type
|
|
2
|
not ready retries
|
busy retries
|
fabricate device id
|
|
3
|
fabricate device id
|
fabricate device id
|
disable caching
|
|
4
|
disable caching
|
disable caching
|
play BCD
|
|
5
|
busy retries
|
controller type
|
read subchannel BCD
|
|
6
|
play BCD
|
play BCD
|
read TOC TRK BCD
|
|
7
|
read subchannel BCD
|
read subchannel BCD
|
read TOC ADDR BCD
|
|
8
|
read TOC TRK BCD
|
read TOC TRK BCD
|
no READ_HDR
|
|
9
|
read TOC ADDR BCD
|
read TOC ADDR BCD
|
read CD XD4
|
|
10
|
no READ_HDR
|
no READ_HDR
|
not ready retries
|
|
11
|
read CD XD4
|
read CD XD4
|
busy retries
|
|
12
|
reset retries
|
reset retries
|
reset retries
|
|
13
|
reservation release time
|
reservation release time
|
reservation release time
|
|
14
|
TUR check
|
TUR check
|
TUR check
|
|
15
|
throttle (min)
|
throttle (min)
|
throttle (min)
|
|
16
|
disable disksort
|
disable disksort
|
disable disksort
|
|
17
|
enable LUN reset
|
enable LUN reset
|
enable LUN reset
|
The header file has a brief description of
what these behaviors mean and appropriate #defines for all, but to fully
understand the functionality you'll need to walk through the driver to see how
it modifies behaviors based upon these settings. Some are obvious (e.g. retry
and throttle values), some are a bit more obscure and have to do with legacy
device behaviors (e.g. disable caching, controller type, etc.). The Red entries above are associated with either legacy SCSI disk or CD
ROM behaviors and are all but obsolete. They've been preserved to ensure no
field regressions. Take another quick look at the device
table and you can see that for the majority of entries we are setting the retry
and throttle values as well as indicating support for LUN resets and disabling
the use of disksort(9F) which is not as applicable for modern fibre channel
arrays.
Can it get any uglier you ask? Well, yes
it can. To make it easier to unit test and validate support for a new device as
well as debug driver behaviors, the device configuration is exposed via the
driver configuration file (e.g. sd.conf, ssd.conf). The purpose of this .conf
file access was never for anything more than developer use. This is not a
public documented interface of the driver. It is simply a more efficient means
of verifying the proper behavior set for a device without having to continually
modify, recompile, and reload the driver. However, over time partners and
customers began to uncover the fact that they could set some of these options
via the .conf file. While never a supported interface for public consumption
the fact remains that there are .conf files out there being used and/or
recommended so while we would have liked to clean all of this up as part of
bringing the sd and ssd source back together, we've preserved it to ensure no
customer experienced a regression based on a .conf file they may have been
using. So this dirty little secret of backdoor configurability is a blessing
and a curse. As a developer its useful to be able to quickly modify the
behaviors without having to change the source, recompile, and reload every
time. Unfortunately, for some time it wasn't just the developer using this
option. So, now that our OpenSolaris community includes many more developers,
here is how you can add an entry to sd.conf (for SCSI devices) or ssd.conf (for
Fibre Channel devices) for a specific device.
The .conf entry for sd and ssd take the
following form:
sd-config-list=
"VENDOR1
PRODUCT1","sd-ver1-tst-data";
sd-ver1-tst-data=
1,0x1F01F,12,1,5,0,0,8,0,0,0,0,0,0,5,60,0,2,0;
Where:
"VENDOR1 " is the contents of
the vendor identification field of the device response to a SCSI INQUIRY.
"PRODUCT1" is the contents of
the product identification field of the device response to a SCSI INQUIRY.
"sd-ver1-tst-data" is the
property array name
sd-ver1-tst-data is the property array
definition.
Note: use ssd-config-list for the fibre channel
driver.
Note: the vendor and product fields must be 8
bytes in length. If the device response is less than 8 bytes the .conf file
entry must be padded with spaces.
Note: the bit fields specified in the above
table is based on the current driver implementation. These fields have been
updated in legacy releases through patches. If the following error occurs, it means an older version of
the driver is installed on the system which does not support all of the
parameters. The user can either update to the latest driver patch, or change
the field and flags based to the length specified in the message (i.e. n).
data property sd-ver1-tst-data list size
is incorrect. No props set.
Size expected: version + 1 flagword + n props.
The property array is defined by version,
flag, integer array. The version is always set to 1 and the flag is a bit mask
indicating the members of the integer array to be used during device configuration. The user should set
only those bits in the mask corresponding to the configurable parameters being
set. For example if the user wishes to configure the maximum throttle for sd the
flag bit mask should be set to 0x00001. Similarly if the user wishes to configure
max throttle, and min throttle for ssd the flag bit mask should be set to 0x10001.
This is a sample sd config list
entry for the sparc platform to set the reservation release time, min throttle,
and enable LUN resets.
sd-config-list=
"VENDOR1
PRODUCT1","sd-ver1-tst-data";
sd-ver1-tst-data= 1,0x00015,0,0,0,0,0,0,0,0,0,0,0,0,0,60,0,2,0,1;
#
#NOTE: Field Definitions
# sd-ver1-tst-data= version, flags,
throttle (max), ctype, not_ready_retry,
# fabricate devid, nocache, busy_retries,
rsvd, rsvd, rsvd, rsvd, rsvd,
# rsvd, reset_retries,
reservation_release_time, TUR_check,
# throttle (min), disable_disksort, LUN
reset
This is a sample ssd config list
entry for the sparc platform to set the reservation release time, min throttle,
and enable LUN resets.
ssd-config-list=
"VENDOR1
PRODUCT1","ssd-ver1-tst-data";
ssd-ver1-tst-data= 1,0x00015,0,0,0,0,0,1,0,0,0,0,0,0,0,60,0,2,0,1;
#
# NOTE: Field Definitions
#ssd-ver1-tst-data= version, flags,
throttle (max), not_ready_retry, busy_retries,
# fabricate devid, nocache, ctype, rsvd,
rsvd, rsvd, rsvd, rsvd, rsvd,
# reset_retries, reservation_release_time,
TUR_check,
# throttle (min), disable_disksort, LUN
reset
I hope this is useful information on how devices are uniquely configured for the Solaris SCSI and Fibre Channel disk drivers.
Technorati Tag: OpenSolaris
Technorati Tag: Solaris
( Jun 17 2005, 05:24:23 PM CDT / Jun 17 2005, 05:28:36 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/scuzzy_scsi_configuration
|
|
|
Wednesday May 25, 2005 |
|
As I've previously mentioned, I have a voracious appetite for books and
regularly have 3-4 in progress. Last night I was chatting with my wife
about a recommendation for her book club. We decided upon a lesser
known, but excellent author who has written two books in the SF genre
that are very unique. The author is Maria Doria Russel who has written The Sparrow and the sequel Children of God.
Maria takes the classic SF plot of first contact and turns it
completely on its head. Two of the best stories I have ever read.
ps - Considered and discarded were a couple of other favorites (I was really torn about passing up American Gods, it's fantastic):
Neil Gaiman - Neverwhere
Neil Gaiman - American Gods
Robert A. Heinlein - Job A Comedy of Justice
( May 25 2005, 03:37:08 PM CDT / May 25 2005, 09:00:00 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/what_to_read
|
|
|
Tuesday May 24, 2005 |
|
Warrior Poet
(one of the funniest things I've heard in a long time, definately worth a listen)
( May 23 2005, 08:34:19 PM CDT / May 24 2005, 01:30:00 AM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/warrior_poet
|
|
|
Monday May 16, 2005 |
|
How much is your integrity and reputation worth? Apparantly it was worth more than $1 million for this young man.
Here's a quote “I’ll give up the million to get back your guys’
friendship” Say what you want about reality tv, but every now and again
you get a glimpse of real character.
( May 16 2005, 09:46:09 AM CDT / May 16 2005, 02:00:00 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/respect
|
|
|
Wednesday May 11, 2005 |
|
As I've said before, the best part of my job is working with really
smart engineers to solve interesting and complex problems. All of the
folks in my virtual neck of the woods with Blogs are on my blogroll but here they are again in
no particular order
Robert Gordon
Jim Wahlig
Bill Baker
Spencer Shepler
David Robinson
Calum Mackay
Eric Kustarz
Sarah Jelinek
Combined these engineers (and their peers who aren't blogging yet,
<hint>, <hint>) have a wealth of information and expertise
on Solaris Data components including NFS, UFS, and much much more.
( May 11 2005, 03:56:08 PM CDT / May 11 2005, 08:00:00 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/growing_community
|
|
|
Thursday May 05, 2005 |
|
It's been a while since I last did an update, I've been heads-down on a couple of end of semester projects, papers, etc. I've got some great notes saved up from both my HR class and Corporate Governance that I'll post in the coming days.
But today is the day.
I've completed the last hour of the last class for my MBA. I started this little endeavour four years ago and I'm not sure I would have continued if I knew then how big a challenge this would be. Due to an awesome family and a great company that provides tuition reimbursement and understanding managers I've completed this degree. My wife and children are the best, and have sacrificed a lot of time to help make this happen. They are my inspiration. (Not to mention I was worried they'd kill me if I quit after getting us into this mess). My managers, mentors, friends, and employees at Sun have been supportive and flexible.
Along the way I've had the opportunity to meet some fantastic instructors and professors who have provided me a tremendous education. Here are a couple of the stars:
These are all incredibly talented scholars and teachers. If you ever have the opportunity to meet them at either the Leeds School of Business at the University of Colorado in Boulder or the McCombs School of Business at the University of Texas in Austin it is not an opportunity to be missed.
( May 05 2005, 03:16:52 PM CDT / May 05 2005, 10:00:00 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/pomp_and_circumstances
|
|
|
Monday April 25, 2005 |
|
I don't consider myself an alarmist but as the father of four young
children I've been disconcerted by all of the news lately about missing,
abducted, and abused children. I was wondering how I might check my
local offender registry when I came across this useful and timely
article. Here in the state of Texas I can view a map online of the registered offenders in my area.
( Apr 25 2005, 08:42:50 AM CDT / Apr 25 2005, 11:40:00 AM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/offender_registries
|
|
|
Friday April 08, 2005 |
|
I heard an interesting factoid in class last night from a PR guy.
He
said "Up to 60% of a company's market value is driven by the CEO
reputation."
Hmmmm ....
SUNW Scott McNealy
DELL Kevin Rollins
IBM Samuel Palmisano
MSFT Steve Ballmer ORCL Larry Ellison
I left HPQ out because who do you track? Carly, the interim or new CEO? We'll have to watch that one.
Anyway, I'm not seeing the correlationut but it was interesting to take a look.
( Apr 08 2005, 03:05:00 PM CDT / Apr 08 2005, 03:06:00 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/ceo_reputation
|
|
|
Tuesday April 05, 2005 |
|
Another great Corporate Governance class last Thursday night. We had two speakers, first was the dean of the UT Law School William Powers who headed up the Enron special investigation, second was Bernard Rapoport one of the most distinguished Texas businessman in history.
Mr. Powers joined us because we were assigned some readings on the
Enron case. He walked us through the case at a high level but my
biggest takeaway was his summary of the case. It may seem from reading
all of the press that this was a very complicated business that
involved sophisticated accounting transactions and decisions. In
reality, while some of the transactions were complex, the decisions of
whether or not to use those transactions were not complex at all. They
were clearly black & white, requiring nothing more than good
character and the ethics to do the right thing.
The analogy Mr. Powers
used was that of golf. If you hit a drive and it lands next to debris,
you may need to ask your playing partners or an official to give you a
ruling on whether or not the debris can be moved. On the other hand, if
you hit a drive into the woods, it is clear what you should do (e.g.
drop another ball and take the penalty). The actions taken at Enron
were the equivalent of hitting the ball into the woods and kicking it
back into the fairway. Once you understand the details of how Enron
structured its transactions, the ethical judements involved were easy.
It is also clear that the transactions were purposely structured for
complexity to hide the fact that they were wrong. Once everything at
Enron came to light it was revealed that for 5 quarters 73% of the
companies income was manufactured (i.e. no basis in economic reality).
So what to do? Mr. Powers suggests, and I agree, that the challenge is
for companies to build cultures that reward virtue and character. At
Enron you were a chump for following the rules and doing the right
thing. Here at Sun I am proud to be a member of a community of high
integrity
and character with clear values. Here is my favorite quote from a Scott
McNealy WSUN radio address:
Your Integrity Is Our Biggest
Asset. You know, our No. 1 asset is our reputation. The SEC shouldn't take us
out. If anything ever kills Sun, I want the killer to be the Darwinistic nature
of the computer industry, not bad ethics. It's just a shame when a couple of
folks can take a company out that way. We're not going to let that happen here.
I think that speak volumes as to the character and culture of Sun.
This is already a pretty long post so I'll get to some of what B. Rapoport shared another time.
( Apr 05 2005, 04:58:57 PM CDT / Apr 05 2005, 08:00:00 PM CDT )
Permalink
Trackback: http://blogs.sun.com/mtibbets/entry/ball_in_the_woods
|
|
|
|
| « November 2009 | | Sun | Mon | Tue | Wed | Thu | Fri | Sat |
|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | | | | | | | | | | | | | | Today |
Today's Page Hits: 9
|