Different Solaris OS kernel patches on RAC

I have a very unstable RAC installation on Solaris. I continue to get ORA-0600 errors. The OS is at version 10 but I just learned today that the patch levels are different.
Node 1: Kernel version: SunOS 5.10 Generic_118833-24
node 2: Kernel version: SunOS 5.10 Generic_127127-11
How big a deal is this and would it be contributing to my instability.
thanks

Hello,
For sure the different level patches may contributing for errors. General cluster rules, leave all things more similar as possible (hardware, OS, patches).
Do you know the metalink's ora-600 lookup tool?
Regards,
Rodrigo Mufalani

Similar Messages

  • Solaris 10 kernel Patch 127127-11

    we need to apply solaris 10 kernel Patch 127127-11 in our prod server as a prerequisite for oracle10g patch set 10.2.0.4 installation
    but i found a Doc 242366 (May Cause a system Panic from ip_wput_ioctl()).It is mentioned in doc that Binary relief is available through normal
    support channels.Is that Binary complete fix of this problem?If yes, then i need that binary please give me the link where i can download the binary,
    If not, then what is the solution of this problem.?
    Thanks

    These kinds of binary hotfixes/IDR's are only available through sun support to contract customers.
    If your concerned, I suggest you raise a support case.
    That being said, 127127-11 is kinda old. So I would be surprised if the bug hadnt been fixed by now.
    Its been replaced by either 137111 or 137137.
    Ive upgraded at least a dozen systems past that level and never seen a problem.
    So it can't be too common..

  • Solaris 10 kernel patch upgrade

    Hi all,
    i am in a process of upgrading the kernel patch of a solaris 10 x64 machine, the present kernel patch is "5.10 Generic_144489-06 i86pc i386 i86pc" the updated kernel patch that i am going to upgrade to is patch "144501-19".
    could you please let me know if there is any special handling to undergo the upgrade or it is only sufficient to follow the 144501-19 README file?
    i know that i should put the system on the single user mode level and i have to have a valid OS backup before doing the patchadd, but if i am missing anything else please let me know
    thanks

    Hello,
    if you are having system filesystems (/ /usr /var ...) on software RAID1 devices, best practise is to split mirrors and have most recent actual copy of the system (or create current ZFS snapshot if using ZFS on root),patch it in single user mode or use Live Upgrade functionality and create alternate boot environment and patch the ABE on running system (you can find various info in Oracle Docs or get inspired by various blogs:http://nilesh-joshi.blogspot.com/2011/10/oracle-solaris-patching-using-live.html). I always patch kernel and other system components using PCA patching utility - have a look on project homepage http://www.par.univie.ac.at/solaris/pca/ it's really advanced and helpful tool. It can save you lot of time when solving dependecies and also downloading the patches.
    Good luck

  • Solaris 9 kernel patch

    Hello everyone,
    I'm new to Solaris, so excuse me if my questions seems stupid.
    I have e solaris 9 SunOS sirius 5.9 Generic_118558-11 sun4u sparc SUNW,Sun-Fire-V890and I want to increase the kernel patch level to the last one.
    Could you give me some hints where I can find and download the latest patch and the steps to install it.
    Thanks for your time.

    [http://sunsolve.sun.com/search/document.do?assetkey=1-21-122300-31-1]
    Instructions are in the readme file for the patch.

  • Static library not accessed properly after Solaris Kernel patch update !

    Hi,
    We are facing a sever issue in our application after our customer updated the Solaris 10 kernel patch u9 to u10.
    We have two static libraries libdlib.a and libDLIB.a, with exactly same code base, but these two libraries are scattered across the code base and linked by many shared objects in our application.
    However, one of the shared objects that links to "libdlib.a" library tries to access a function from "libDLIB.a". This behavior is causing a crash at a later point, since that shared object is supposed to access the function from "libdlib.a". Moreover, we found this is happening through the use of dbx.
    I'm unable to understand why this problem surfaced after kernel patch update, though still the shared object works fine on Solaris 10 u9 patch.
    Flow is something like this :
    1. syslogrecorder.so gets loaded by one of the processes.
    2. syslogrecorder.so is linked to "libdlib.a" at compile time, so it uses "libdlib.a" function DLIB_LoadLibrary and gets a handle to all the function pointers of the loaded library ( The purpose of DLIB_LoadLibrary is to load a shared library dynamically using dlopen )
    3. syslogrecorder.so tries to do a "dlsym" and to do that it needs access to the library handle which we got in previous call DLIB_LoadLibrary. So syslogrecorder.so calls another function from DLIB_ProcAddress, which actually gives back the access to the loaded shared library.
    Here is a catch in step 3, it is supposed to call DLIB_ProcAddress from the libdlib.a but as we observed from dbx output it does so by calling DLIB_ProcAddress from libDLIB.a and hence fails to give back the access to loaded shared library, causing crash at a later point in code.
    Can someone put some light here that why this could happen ??
    Thanks
    Kuldeep

    To clarify: You did not modify or rebuild any of your binaries, but after installing a kernel patch, the application stopped working. Most likely, something about your application depended on a accidental behavior of the runtime loader. That accidental behavior changed due to the patch, and your application failed.
    For example, if there is a circular dependency among shared libraries, the loader will break the cycle at an arbitrary point to establish an initialization order. By accident, that order might work, in the sense of not causing a problem. A change to the loader could cause the cycle to be broken at a different point, and the resulting initialization order could cause a now-uninitialized object to be accessed. I'm not saying this is what is wrong, but this is an example of a dependency on accidental loader behavior.
    Finding your actual problem will require tracing the sequence of operations leading up to the failure. You are more likely to find help in a Solaris linker forum. AFAIK, there are currently no Oracle forums for Solaris, and the old OpenSolaris forums have been converted to mailing lists. You can try the "tools-linking" list found on this page:
    http://mail.opensolaris.org/mailman/listinfo
    I also suggest you review the paper on best practices for using shared libraries written by Darryl Gove and myself:
    http://www.oracle.com/technetwork/articles/servers-storage-admin/linkinglibraries-396782.html
    If you have a service contract with Oracle, you can use your support channel to get more help.
    Edited by: Steve_Clamage on May 18, 2012 3:21 PM

  • Applied Kernel Patch to Solaris 10 on v40z, no longer auto boots

    I recently updated the patches on a v40z machine including a kernel patch. After rebooting, the machine would no longer automatically boot to Solaris. Instead it would just wait for user input at the Grub bootloader screen. Anyone experienced this or have a solution?
    I believe the patch in question is 118855-19
    # bootadm list-menu
    The location for the active GRUB menu is: /boot/grub/menu.lst
    default 0
    timeout 10
    0 Solaris 10 6/06 s10x_u2wos_09a X86
    1 Solaris failsafe

    SOLVED:
    Disabled ECC in the bios (though Windows and Gentoo Linux show now trouble whatsoever with my ECC memory, solaris doesn't like it)

  • Last kernel patch for Solaris 10 x86 screwed up my kernel

    Hi,
    The last kernel patch for Solaris 10 x86 (sorry I can�t remember the patch id, but the revision is 30), available from Sun Update Manager screwed up my system.
    The system is still booting but in maintenance mode: smf can't start because of repository corrupted. Given instructions to restore the repository does not work because / filesystem is mounted read-only...
    As I am not a solaris expert, I will reinstall it from CD. I hope I won't loose the filesystem.
    I was used to blindly trust Sun solaris patches, that was a mistake.
    Laurent.

    i dont know why but still i do get default log in into the single mode
    after startup
    Requesting maintenance mode
    (See /lib/svc/share/README for aditional information. )
    Root password for system maintenance (control-d to bypass):i did removed the patch installed before so now
    SunOS jorgito 5.10 Generic_118844-26 i86pc i386 i86pcand finaly i do have milestone like this
    bash-3.00$ svcprop restarter | grep mile
    options/milestone astring svc:/milestone/multi-user:default
    dont know what to do else, also tried to synchronize boot-archive from solaris failsafe ...

  • Kernel patch updation for solaris 10 x86

    I have Solaris 10 06/06 installed on x86 machine which is using svm and clustered with another node. The kernel revision is 118855-19 from the uname -a output. I am looking for the kernel patch updation and I heard 118855-36 is the latest one. Shall I go ahead with this patch and what r the dependency patches for this.
    If anyone done this please guide me..

    Patch 118855-36 is the latest kernel patch for Solaris 10 on x86 and its dependencies are:
    113000-01 117435-02 118344-14 119043-09 119255-14 121264-01 122035-01 123840-01 (or greater)
    Whether you should go ahead and install the patch is up to you, if possible try it out on a test box first. For better advice on this matter, I would suggest posting in the Solaris 10 forum as this forum is for the Sun Update Connection, Patch Manager & PatchPro toolsets.

  • Kernel patch update for solaris 10 x86

    I have Solaris 10 06/06 installed on x86 machine which is using svm and clustered with another node. The kernel revision is 118855-19 from the uname -a output. I am looking for the kernel patch updation and I heard 118855-36 is the latest one. Shall I go ahead with this patch and what r the dependency patches for this.
    If anyone done this please suggest and guide me..

    For Solaris 10 x86 the latest offered with smpatch is 125101-07 and yes it may be recommended to patch. Then again you said clustered with sun cluster? You may want to check the documentation and if your machines aren't facing the internet you may wait for 7/07 to hit the street and do an upgrade.

  • How to do Kernel Patching in Solaris 10?

    How to do Kernel Patching in Solaris 10?

    Hi,
    In single user
    # init s
    # patchadd <kernel_patch>
    or the best is to install the last Solaris update patch bundle
    See http://sunsolve.sun.com/show.do?target=patches/patch-access
    Marco.

  • Steps for Kernel Patch Updation on Solaris 10 X4100 with 2disks mirrored

    Hi all,
    I have Solaris 10 10/06 (118855-19) installed on one of the X4100 server. This is the time for me to update the latest kernel patch (118855-36). We have two disks mirrored. My questions are,
    1) Do i need to detach any of the disk from the mirror before doing any patching.
    2) Is it possible to install the patches without detaching any disks from the mirror. (i.e. installeing patch on mirrored root filesystem)
    3) how to boot from the second disk in case the patch installation creates problem while booting up.
    Any suggestions or steps which you have already implemented for the above scenario.

    This isn't really a question for this forum, you may be better to look at some of the sys-admin forums for a complete answer.
    You should not need to break the mirror in order to apply the kernel patch, however doing so would allow for quicker recovery of the system should something go wrong during patching.
    I would strongly advise that you read the special install instructions for the kernel patch prior to installing it.
    http://sunsolve.sun.com/search/document.do?assetkey=1-21-118855-36-1
    You may also wish to use a patch cluster rather than smpatch/updatemanager, these can be downloaded from SunSolve:
    http://sunsolve.sun.com/private-cgi/show.pl?target=patchpage

  • Solaris kernel patch levels

    I have engineers asking for a particular kernel patch level to be installed on machines.
    Is there anywhere that lists the kernel patch level on releases and hardware updates for Solaris 8-10?
    Thanks,
    Duane

    Please start with Sunsolve (http://sunsolve.sun.com) and Sun documentation (http://docs.sun.com) web sites.

  • Solaris 10 U4 and kernel patches

    When I install a fresh U4 machine, I then (as I always do) apply the recommended patch cluster. U4 has kernel patched to 120011-14. In the patch cluster, there are kernel patches 118833-36 and also 120011-14. When I run the patch cluster, it installs 118833-36! Isn't this older than the kernel on there? Shouldn't both 118833-36 and 120011-14 BOTH not install as the kernel is already at level 120011-14. The cluster gets to 118833-36 installs that and then of course every patch after that one fails as the machine is waiting for a reboot.

    KJP 137138-09 should be ok with cpquary3 driver 1.9.1. KJP 137138 introduced new feature which does not allow misaligned pointer mutexes to work and panics the system. with revision 07 SUN introduced a new environment variable as a for applications which cannot be ported easily "6729759 need to accommodate non-8-byte-aligned mutexes".
    This is documented in alert 244606 "The resolution for OpenSolaris releases sets _THREAD_LOCKS_MISALIGNED to 0. This is to ensure that any faulty applications fail and are identified. To allow such applications to continue to work on OpenSolaris releases based upon snv_96 or later, the environment variable _THREAD_LOCKS_MISALIGNED must be set to 1." For this to work you need to have revision 09 of this KJP applied.
    Can you post the stack trace so i can have a look at it. I guess you have another application which uses unaligned mutexes.
    A pkginfo of the cpquary3 package would also be useful.
    -Marco

  • Problem of SIGPOLL(SI_NOINFO) in latest Solaris9 kernel patch

    Hi,
    We are facing a rather strange problem with the latest kernel patch on Solaris 9. (Generic_112233-08). We had not faced this problem with any of the other kernel patches of Solaris 9.
    Our application has a main thread and a single child thread (pthread). The main thread schedules aio_writes() on the raw disk interface and lets the child thread block on sigwaitinfo() to listen to the signal completion notification. This is communicated to it via the SI_ASYNCIO code of SIGPOLL. The child thread then informs the main thread by writing to a bi-directional pipe. Since the main thread has registered for read interest on the bi-directional pipe (via /dev/poll) it is informed of the completion of the aio_write() without having to block itself. Under normal circumstances, the child thread receives SIGPOLL with SI_ASYNCIO code.
    This application has been running fine on all the previous builds of Solaris (Generic, Generic_112233-04, Generic_112233-06) on sparc platform expect with the latest kernel patch. The child thread now keeps receiving SIGPOLL with SI_NOINFO code. There has been no change in our application and we are perplexed to the reason of this behaviour. Since it is SI_NOINFO there is not much debugging information we can get.
    We have been able to replicate this behaviour using a small stand-alone program. We are attaching it at the end of the email. We tried this program on a couple of different Sparc systems and were able to reproduce this behaviour on one of them but not on the other.
    Has anybody faced problems with regard to SIGPOLL in the latest kernel patch of Solaris 9 for sparc systems ?
    Thanks
    Regards
    Raj Pagaku
    proxy-24:~ >uname -a
    SunOS proxy-24 5.9 Generic_112233-08 sun4u sparc SUNW,Ultra-5_10
    proxy-24:~ >gcc -v
    Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.2/specs
    Configured with: ../configure with-as=/usr/ccs/bin/as with-ld=/usr/ccs/bin/ld --disable-nls
    Thread model: posix
    gcc version 3.2
    Compiled this program using the following command : gcc -g kernel_bug.c -lrt -lpthread
    #include <stdio.h>
    #include <aio.h>
    #include <errno.h>
    #include <fcntl.h>
    #include <pthread.h>
    #include <signal.h>
    #include <stdlib.h>
    #include <string.h>
    #include <unistd.h>
    #include <sys/resource.h>
    #include <sys/stat.h>
    #include <sys/types.h>
    #define min(x,y) (((x)<=(y))?(x):(y))
    #define DISPLAY_COUNT 10000
    typedef struct DiskInfoCallOut {
    void (*func_ptr)(void *);
    void *data_ptr;
    } DiskInfoCallOut;
    typedef struct DiskInfo {
    struct aiocb di_aiocb;
    DiskInfoCallOut di_callout;
    off_t di_currOffset;
    int di_scheduled;
    } DiskInfo;
    typedef struct Disk {
    int fd;
    char *buffer;
    int bufferLen;
    } Disk;
    static sigset_t aioSignalSet;
    int aioSigFD[2];
    int glob_scheduled = 1;
    int glob_respond = 1;
    Disk disk;
    static void LaunchDiskOperation(DiskInfo *di);
    char BUFDATA[4096] = {'a'};
    char rawDeviceName[256] = "/dev/rdsk/";
    static void
    InitializeDisk()
    int fd;
    if ((fd = open(rawDeviceName, O_RDWR, 0)) == -1) {
    fprintf(stderr, "Unable to open raw device \n");
    exit(-1);
    disk.fd = fd;
    disk.buffer = BUFDATA;
    disk.bufferLen = sizeof(BUFDATA);
    static void
    AIOSignalHandler(int sigNum, siginfo_t* si, void* context)
    fprintf(stderr, "WARN: got signal %d in AIOSignalHandler!\n", sigNum);
    /* Function implementing the slave thread */
    static void*
    AIOSignalThread(void *arg)
    struct sigaction sa;
    siginfo_t info;
    sigset_t ss;
    int sig_num;
    int retVal;
    /* Initialize the signal set*/
    sigemptyset(&ss);
    sigaddset(&ss, SIGPOLL);
    if ((retVal = pthread_sigmask(SIG_SETMASK, &ss, NULL))) {
    fprintf(stderr, "pthread_sigmask failed in AIOSignalThread \n");
    exit(-1);
    sa.sa_handler = NULL;
    sa.sa_sigaction = AIOSignalHandler;
    sa.sa_mask = aioSignalSet;
    sa.sa_flags = SA_SIGINFO;
    if (sigaction(SIGPOLL, &sa, NULL)) {
    fprintf(stderr, "sigaction in AIOSignalThread \n");
    exit(-1);
    /* Wait infinitely for the signals and respond to the main thread */
    while (1) {
    sig_num = sigwaitinfo(&aioSignalSet, &info);
    if (sig_num != SIGPOLL) {
    fprintf(stderr, "caught unexpected signal %d in AIOSignalThread \n",
    sig_num);
    exit(-1);
    if (info.si_code != SI_ASYNCIO){
    fprintf(stderr, "ERROR: siginfo_t had si_code != SI_ASYNCIO, si_code = %d \n", info.si_code);
    continue;
    /* Write the stored pointer value in the pipe so that the main thread can process it */
    if (write(aioSigFD[1], &(info.si_value.sival_ptr), sizeof(info.si_value.sival_ptr)) !=
    sizeof(info.si_value.sival_ptr)) {
    perror("Couldn't write the whole pointer");
    exit(-1);
    return (NULL);
    static void
    Init()
    pthread_attr_t aioAttr;
    pthread_t aioThread;
    int retVal = 0;
    /* Create a bidirectional pipe */
    if (pipe(aioSigFD)) {
    perror("pipe failed");
    exit(-1);
    /* Initialize to prevent other threads from being interrupted by
    SIGPOLL */
    sigemptyset(&aioSignalSet);
    sigaddset(&aioSignalSet, SIGPOLL);
    if ((retVal = pthread_sigmask(SIG_BLOCK, &aioSignalSet, NULL))) {
    fprintf(stderr, "pthread_sigmask failed in Init\n");
    exit(-1);
    InitializeDisk();
    if ((retVal = pthread_attr_init(&aioAttr)))
    fprintf(stderr, "pthread_attr_init failed \n");
    if ((retVal = pthread_attr_setdetachstate(&aioAttr, PTHREAD_CREATE_DETACHED)))
    fprintf(stderr, "pthread_attr_setdetachstate failed \n");
    if ((retVal = pthread_attr_setscope(&aioAttr, PTHREAD_SCOPE_SYSTEM)))
    fprintf(stderr, "pthread_attr_setscope failed in \n");
    if ((retVal = pthread_attr_setstacksize(&aioAttr, 2*1024*1024)))
    fprintf(stderr, "pthread_attr_setstacksize failed \n");
    if ((retVal = pthread_create(&aioThread, &aioAttr,
    AIOSignalThread, NULL)))
    fprintf(stderr, "pthread_create failed \n");
    static void
    UpdateDiskWriteInformation(DiskInfo *di)
    di->di_currOffset += disk.bufferLen;
    di->di_scheduled = 0;
    static void
    DiskOpCompleted(void *ptr)
    DiskInfo di = (DiskInfo )ptr;
    if (aio_error(&di->di_aiocb))
    perror("aio_error");
    if (aio_return(&di->di_aiocb) < 0)
    perror("aio_return ");
    UpdateDiskWriteInformation(di);
    glob_respond++;
    static void
    LaunchDiskOperation(DiskInfo *di)
    int res;
    di->di_callout.func_ptr = DiskOpCompleted;
    di->di_callout.data_ptr = di;
    memset(&di->di_aiocb, 0, sizeof(di->di_aiocb));
    di->di_aiocb.aio_fildes = disk.fd;
    di->di_aiocb.aio_buf = disk.buffer;
    di->di_aiocb.aio_nbytes = disk.bufferLen;
    di->di_aiocb.aio_offset = di->di_currOffset;
    di->di_scheduled = 1;
    di->di_aiocb.aio_sigevent.sigev_notify = SIGEV_SIGNAL;
    di->di_aiocb.aio_sigevent.sigev_signo = SIGPOLL;
    di->di_aiocb.aio_sigevent.sigev_value.sival_ptr = &di->di_callout;
    res = aio_write(&di->di_aiocb);
    if (res == -1) {
    perror("aio op error");
    static void
    HandleSignalResponses()
    int fd;
    #define DISKINFO_CALLOUT_MAX 64
    DiskInfoCallOut* callout[DISKINFO_CALLOUT_MAX];
    struct stat pipeStat;
    int numCompleted;
    int bytesToRead;
    int sz;
    int i;
    fd = aioSigFD[0];
    while (1) {
    /* Find whether there is any data in the pipe */
    if(-1 == fstat(fd, &pipeStat)) {
    perror("fstat");
    exit(-1);
    if (pipeStat.st_size < sizeof(DiskInfoCallOut *))
    break;
    numCompleted = min((pipeStat.st_size/sizeof(DiskInfoCallOut *)),DISKINFO_CALLOUT_MAX);
    bytesToRead = numCompleted * sizeof(DiskInfoCallOut *);
    if ((sz = read(fd, callout, bytesToRead)) != bytesToRead) {
    perror("Error reading from pipe");
    exit(-1);
    for (i = 0; i < numCompleted; i++)
    (*callout[i]->func_ptr)(callout[i]->data_ptr);
    int main(int argc, char *argv[])
    DiskInfo *di;
    FILE *logPtr1 = NULL;
    FILE *logPtr2 = NULL;
    FILE *logPtr3 = NULL;
    struct rusage ru;
    struct timeval t1, t2;
    long timeTaken = 0;
    int writeCount = 0;
    int i;
    char logFileName1[1024];
    char logFileName2[1024];
    char logFileName3[1024];
    if (argc < 2) {
    fprintf(stderr, "Usage : %s <partition_name> \n", argv[0]);
    exit(-1);
    strcat(rawDeviceName, argv[1]);
    writeCount = 1;
    printf("Partition selected = %s \n", rawDeviceName);
    di = calloc(writeCount, sizeof(DiskInfo));
    sprintf(logFileName1, "%s.log1", argv[0]);
    if ((logPtr1 = fopen(logFileName1, "w+")) == NULL) {
    fprintf(stderr, "Unable to create file test_pgm \n");
    exit(-1);
    sprintf(logFileName2, "%s.log2", argv[0]);
    if ((logPtr2 = fopen(logFileName2, "w+")) == NULL) {
    fprintf(stderr, "Unable to create file test_pgm \n");
    exit(-1);
    sprintf(logFileName3, "%s.log3", argv[0]);
    if ((logPtr3 = fopen(logFileName3, "w+")) == NULL) {
    fprintf(stderr, "Unable to create file test_pgm \n");
    exit(-1);
    Init();
    for (i = 0; i < writeCount; i++) {
    di.di_currOffset = (1 << 18) * (i + 1);
    di[i].di_scheduled = 0;
    gettimeofday(&t1, NULL);
    while (1) {
    int curScheduled = 0;
    /* Schedule the disk operations */
    for (i = 0; i < writeCount; i++) {
    if (di[i].di_scheduled == 0) {
    LaunchDiskOperation(&di[i]);
    glob_scheduled++;
    curScheduled++;
    /* Handle the responses */
    HandleSignalResponses();
    if ((curScheduled) && (glob_respond % DISPLAY_COUNT == 0)) {
    gettimeofday(&t2, NULL);
    timeTaken = ((t2.tv_sec * 1000000 + t2.tv_usec) -
    (t1.tv_sec * 1000000 + t1.tv_usec))/1000;
    printf("Scheduled = %d, Responded = %d, Time Taken = %ld ms \n",
    glob_scheduled, glob_respond, timeTaken);
    fprintf(logPtr1, "Scheduled = %d, Responded = %d, Time Taken = %ld ms \n",
    glob_scheduled, glob_respond, timeTaken);
    fprintf(stderr,"wrote to logPtr1 ..\n");
    fprintf(logPtr2, "Scheduled = %d, Responded = %d, Time Taken = %ld ms \n",
    glob_scheduled, glob_respond, timeTaken);
    fprintf(stderr,"wrote to logPtr2 ..\n");
    fprintf(logPtr3, "Scheduled = %d, Responded = %d, Time Taken = %ld ms \n",
    glob_scheduled, glob_respond, timeTaken);
    fprintf(stderr,"wrote to logPtr3 ..\n");
    t1 = t2;

    Hi @cooldog ,
    I hit this same LVM2 snapshot kernel oops on several Oracle Linux 6.5 servers running UEK R3 kernel version 3.8.13-16.3.1.  I have Linux Premier Support so I opened a Service Request.  Oracle Support got back to me with the following notes.
    Hello Matt, 
    Bug 17487738 : EXT4: STRESS TESTING WITH SUSPEND/RESUME FS ACCESS CAUSES FS ERRORS This bug is fixed in kernel version: 3.8.13-18. This kernel will be available quite soon for download.
    You may upgrade the kernel once its available. ~Siju 
    Update
    Dear Matt, Latest available UEK3 kernel version 'kernel-uek-3.8.13-26.el6uek.x86_64' incorporates the required bugfix. [root@server1 tmp]# rpm -q --changelog -p kernel-uek-3.8.13-26.el6uek.x86_64.rpm | grep -i 17487738
    warning: kernel-uek-3.8.13-26.el6uek.x86_64.rpm: Header V3 RSA/SHA256 signature: NOKEY, key ID ec551f03
    - fs: protect write with sb_start/end_write in generic_file_write_iter (Guangyu Sun) [Orabug: 17487738] <<<<<<======================================== You can download the UEK3 kernel from ULN or from public-yum repo. 
    http://public-yum.oracle.com/repo/OracleLinux/OL6/UEKR3/latest/x86_64/getPackage/kernel-uek-firmware-3.8.13-26.el6uek.noarch.rpm
    http://public-yum.oracle.com/repo/OracleLinux/OL6/UEKR3/latest/x86_64/getPackage/kernel-uek-3.8.13-26.el6uek.x86_64.rpm Hope this helps! ~Siju 
    Subscribe to the Oracle Linux el-errata mailing list .
    The latest kernel-uek-3.8.13-26.el6uek.x86_64 version fixed the problem.
    - Matt

  • Kernel patch for more CPU families offers measurable speed increases

    I wanted to show folks a pretty nice patch that allows one more options when compiling a kernel for CPU families.  Complete list included at the bottom of this post.  I tested it using three different x86_64 machines running a generic x86-64 kernel and an otherwise identical kernel running with the optimized gcc options.
    Conclusion: There are small but real speed increases using a make endpoint to building with this patch.
    Details:
    1) Three test machines: Intel Xeon X3360, Intel i7-2620M, Intel Core i7-3660K.
    2) All ran the make benchmark (linked below) 35 times while booted into a 'generic' kernel. Then all ran the same make benchmark 35 times after booting into an optimized kernel. Below are the optimizations chosen for each machine.
    2a) X3360 = core2
    2b) i7-2620M = corei7-avx
    2c) i7-3660K = core-avx-i
    3) Analyzed resulting distributions for statistical significance via ANOVA plots that clearly show statistically significant albeit small differences.
    Discussion
    1) All the assumptions for ANOVA are met:
    *Data are normally distributed as show in the normal quantile plots.
    *The population variances are fairly equal (Levene and Barlett tests).
    2) The ANOVA plots clearly show significance.
    *Pair-wise analysis by Tukey-Kramer shows significance at the 0.05 level for all CPUs compared.
    Below are the differences in median values:
    core2       +87.5 ms
    corei7-avx  +79.7 ms
    core-avx-i  +257.2 ms
    References:
    Kernel patch: https://github.com/graysky2/kernel_gcc_patch
    Bash script that controls the benchmark: https://github.com/graysky2/bin/blob/master/bench
    Log file generated by script: http://repo-ck.com/bench/compile_time_o … ion.txt.gz
    Links to ANOVA plots:
    Complete list of x86_64 CPU Families:
    1. AMD Opteron/Athlon64/Hammer/K8 (MK8)
    2. AMD 61xx/7x50/PhenomX3/X4/II/K10 (MAMDFAM10) (NEW)
    3. AMD Barcelona (MBARCELONA) (NEW)
    4. AMD Bobcat (MBOBCAT) (NEW)
    5. AMD Bulldozer (MBULLDOZER) (NEW)
    6. AMD Piledriver (MPILEDRIVER) (NEW)
    7. Intel P4 / older Netburst based Xeon (MPSC)
    8. Intel Core 2 (MCORE2)
    9. Intel Core i7 (MCOREI7) (NEW)
    11. Intel Core 2nd Gen AVX (MCOREI7AVX) (NEW)
    12. Intel Core 3rd Gen AVX (MCOREAVXI) (NEW)
    13. Intel Core AVX-2 (MCOREAVX2) (NEW)
    14. Intel Atom (MATOM)
    15. Generic-x86-64 (GENERIC_CPU)
    Complete list of i686 CPU Families:
    1. 386 (M386)
    2. 486 (M486)
    3. 586/K5/5x86/6x86/6x86MX (M586)
    4. Pentium-Classic (M586TSC)
    5. Pentium-MMX (M586MMX)
    6. Pentium-Pro (M686)
    7. Pentium-II/Celeron(pre-Coppermine) (MPENTIUMII)
    8. Pentium-III/Celeron(Coppermine)/Pentium-III Xeon (MPENTIUMIII)
    9. Pentium M (MPENTIUMM)
    10. Pentium-4/Celeron(P4-based)/Pentium-4 M/older Xeon (MPENTIUM4)
    11. AMD K6/K6-II/K6-III (MK6)
    12. AMD Athlon/Duron/K7 (MK7)
    13. AMD Opteron/Athlon64/Hammer/K8 (MK8)
    14. AMD 61xx/7x50/PhenomX3/X4/II/K10 (MAMDFAM10) (NEW)
    15. AMD Barcelona (MBARCELONA) (NEW)
    16. AMD Bobcat (MBOBCAT) (NEW)
    17. AMD Bulldozer (MBULLDOZER) (NEW)
    18. AMD Piledriver (MPILEDRIVER) (NEW)
    19. Crusoe (MCRUSOE)
    20. Efficeon (MEFFICEON)
    21. Winchip-C6 (MWINCHIPC6)
    22. Winchip-2/Winchip-2A/Winchip-3 (MWINCHIP3D)
    23. AMD Elan (MELAN)
    24. GeodeGX1 (MGEODEGX1)
    25. Geode GX/LX (MGEODE_LX)
    26. CyrixIII/VIA-C3 (MCYRIXIII)
    27. VIA C3-2 (Nehemiah) (MVIAC3_2)
    28. VIA C7 (MVIAC7)
    29. Intel Core 2 (MCORE2)
    30. Intel Core i7 (MCOREI7) (NEW)
    31. Intel Core 2nd Gen AVX (MCOREI7AVX) (NEW)
    32. Intel Core 3rd Gen AVX (MCOREAVXI) (NEW)
    33. Intel Core AVX-2 (MCOREAVX2) (NEW)
    34. Intel Atom (MATOM)
    Last edited by graysky (2013-01-16 19:14:09)

    graysky wrote:Practically, why do you need more than a few frequencies?  For example, you're idle.  I would want the lowest freq.  You're under load.  I would want the highest frequency.  For situations in between, say launching a program, or moving data, whatever, an intermediate frequency would be fine.  What do you hope to achieve with a more refined list of available frequencies?
    I agree, your CPU, in practice, is really either idle or loaded.
    In my case (AMD 965, 4 freq steps) the processor is at lowest freq for about 90 - 95% of a time, and at highest for 5 - 10%. The 2 intermediate are used for about 0.1% of a time.
    My guess would be that intermediate ones are only used for smooth transition from lowest to highest. So they really are hardware dependent...

Maybe you are looking for

  • MSI X79A GD-45 - Random Locking / Rebooting Issues

    Hi, I recently upgraded my old P45 chipset Q6600 16GB Hyper-V home lab server, with a nice X79A GD-45 Board, with an i3820 & 64GB of Ram. I've installed the system with Windows 2012, however I can't seem to get it stable. I have a basic AMD 4550 grap

  • Suggested edit to the Beginners Guide.

    I tried to edit the Beginners guide but don't have permission. The section headed 'Manual connection at boot using systemd' [1] is now a dead link, it should point to the new systemd-networkd way of doing things [2]. Does anyone with permission fancy

  • Flow of tables information between sap and java

    How should i pass the table information from sap to java. and how to process the data of a table in the java program. i had seen the examples of JCO. BUT I IS VERY CONFUSING (BCOZ I DON'T KNOW JAVA). PLZ IF U DON'T MIND SEND ME CODE SNIPPET TO 1.GET

  • 2008 R2 Remote Desktop Services Problems With Older RDP Clients

    I recently deployed a new 2008 R2 server to serve as a Terminal Server (Remote Desktop Services) for about 30 people. The new server is replacing a 2003 server. I expected the new machine to be a considerable upgrade and was looking forward to happy

  • My markers/chapters created in FCP cause multiplexer error in iDVD

    After two days of trying to figure out what causes this multiplexer error in iDVD - I have deduced that it is chapter markers in FCP. I can burn projects from quicktimes exported from FCP without chapters, but cannot burn ones with chapters. Obviousl