home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / mdosbug4.zip / WORKAROU.TXT < prev   
Text File  |  1997-04-19  |  5KB  |  109 lines

  1. This document describes a workaround for the Warp 4 MDOS time slice bug.
  2. Revision 4 from 04-19-1997
  3.  
  4. 1. Problem description
  5.  
  6.    OS/2 Warp offers four different  methods  for  DOS programs to tell OS/2
  7.    that they temporarily do not need the CPU ("timeslicing").  Two of  them
  8.    are  broken  in Warp 4.0 (see MDOSBUG.TXT for a detailed description) as
  9.    well  es  in  Warp  3.0  starting  with  Fixlevel  22.   This  leads  to
  10.    inacceptably high system  load  when  running  certain DOS applications.
  11.    (Please note that some DOS applications will cause 100% even if you  use
  12.    Warp 3 - this problem only refers to certain "OS/2 aware" programs).
  13.  
  14. 2. Will IBM fix this problem?
  15.  
  16.    The problem has - finally - been assigned the APAR number JR10024.  This
  17.    means  that  IBM  will fix the problem sooner or later.  According to my
  18.    information, a fix can be expected in Warp 4 Fixpack #2 or Fixpack #3 at
  19.    latest.  Fixpack #1 is still affected by the problem.
  20.  
  21. 3. Workaround principles
  22.  
  23.    If  you  don't  want  to wait until Fixpack #3, you can help yourself as
  24.    follows:
  25.  
  26.    a) Write  a TSR that interecepts  the two broken calls and converts them
  27.       into one that  still  works.  This  method,  which was described in
  28.       MDOSBUG3.ZIP, using OSTSR and V4FIX, is not described here any  more,
  29.       because it did not work reliably.
  30.  
  31.    b) Make the two broken calls work again.   The  coressponding  code  ist
  32.       still  present  in a module of the OS2 kernel - only the call doesn't
  33.       reach  the corresponding module.  We just have to reroute the call by
  34.       changing two (!) bytes in the OS2KRNL.
  35.  
  36.       At this time I wish to make  clear that patching your OS/2 kernel can
  37.       result  in  everything  up  to  completely   destroying   your   OS/2
  38.       installation.  Although the automated patching method described below
  39.       should  be protected against user errors, and although I have not got
  40.       any reports about negative  side  effects  of  the kernel patch until
  41.       now, I will not give any guarantees.
  42.  
  43.       Well then, open a "OS/2 Window Command Line".  At first you  have  to
  44.       determine your system revision level by typing in
  45.  
  46.       VER /R
  47.  
  48.       The  revision  level  should  either be 9.023 (Warp 4 w/o any fixes),
  49.       9.025 ( Warp 4 w/ official fixpack  #1 installed) or 8.246 (Warp 4 w/
  50.       official fixpack #22 installed).  If your revision level is different
  51.       - bad luck.  (If you are an expert, you can take a hex editor and try
  52.       to find the following byte code sequence:  "66 25 80 00  74  45"  and
  53.       replace  it  by "66 3D 80 00 7E 45", and see if it works.  If you are
  54.       not an expert, don't do this).
  55.  
  56.       If you have any revision  level  mentioned above, proceed as follows:
  57.       Copy the files MDOS*.PAT to the root directory of  your  boot  drive.
  58.       Make  the  root  directory  of your boot drive to the current working
  59.       directory and do the following:
  60.  
  61.       ATTRIB -r -s -h OS2KRNL
  62.       COPY OS2KRNL OS2KRNL.ORG
  63.       REM  ^Make a backup of the kernel ;-)
  64.  
  65.       In the following line,  you  have  to  replace MDOS<level>.PAT by the
  66.       filename corresponding to your system revision level:
  67.  
  68.       PATCH MDOS<level>.PAT /A
  69.  
  70.       That  is,  if  your  system  revision  level  is  9.023,  type  PATCH
  71.       MDOS9023.PAT /A, if it is 9.025, type PATCH MDOS9025.PAT /A, if it is
  72.       8.246, type PATCH MDOS8246.PAT /A.
  73.  
  74.       After that, type in the following:
  75.  
  76.       ATTRIB +R +S +H OS2KRNL
  77.       DEL *.PAT
  78.  
  79.       You will have to reboot your system in order to activate the changes.
  80.       From then on all programs that have been releasing OS/2  time  slices
  81.       will  behave  very  smartly.  Of course, there will still be some DOS
  82.       programs sucking 100% system load  because they were not designed for
  83.       multitasking envrionments at all.
  84.  
  85.  
  86. 4. Annotations
  87.  
  88.    OS/2 Warp is a registered trademark by IBM.
  89.  
  90.    Special thanks to
  91.    - Stefan Briesenick for SliceTST
  92.    - Ralf Brandt for developping the OS/2-Kernel patch.
  93.    - Everybody who sent in feed-back and/or helped with "IBM connections",
  94.      in particular Karlheinz Schmidthaus and Peter Hillenbrand.
  95.  
  96.    This document should normally be distributed in the MDOSBUG4.ZIP archive
  97.    along with the required .PAT files.  If you don't have these files,  you
  98.    can get the original archive at my mailbox (Menu Files/Magic File Menu):
  99.  
  100.    Badnerland BBS, +49-721-9374498 (V.34/X.75).
  101.  
  102.    For questions, comments, etc., you can reach me at:
  103.  
  104.    Fidonet:  Tobias Ernst @ 2:2476/418.0
  105.    OS/2-Net: Tobias Ernst @ 81:449/7835.0
  106.    e-mail:   tobi@bland.fido.de
  107.  
  108. [EOF]
  109.