1 lqh-worker

Optmize 1-lqh worker case slightly, by allowinf SEND_PACKED from TC to LQH
also in this case

---
 storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp |   31 ++++++++++++++++++++----
 1 file changed, 27 insertions(+), 4 deletions(-)

Index: 64-rel/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
===================================================================
--- 64-rel.orig/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp	2009-12-21 12:30:41.000000000 +0100
+++ 64-rel/storage/ndb/src/kernel/blocks/dbtc/DbtcMain.cpp	2009-12-21 12:30:42.000000000 +0100
@@ -363,6 +363,19 @@ void Dbtc::execINCL_NODEREQ(Signal* sign
     return;
   }
 
+  Uint32 Tnode = hostptr.i;
+  Uint32 lqhWorkers = getNodeInfo(Tnode).m_lqh_workers;
+  if (lqhWorkers == 1)
+  {
+    jam();
+    hostptr.p->hostLqhBlockRef = numberToRef(DBLQH, 1, Tnode);
+  }
+  else
+  {
+    jam();
+    hostptr.p->hostLqhBlockRef = numberToRef(DBLQH, Tnode);
+  }
+
   sendSignal(tblockref, GSN_INCL_NODECONF, signal, 2, JBB);
 }
 
@@ -824,7 +837,17 @@ void Dbtc::execREAD_NODESCONF(Signal* si
         jam();
         con_lineNodes++;
         hostptr.p->hostStatus = HS_ALIVE;
-	c_alive_nodes.set(i);
+        c_alive_nodes.set(i);
+        if (getNodeInfo(i).m_lqh_workers == 1)
+        {
+          jam();
+          hostptr.p->hostLqhBlockRef = numberToRef(DBLQH, 1, i);
+        }
+        else
+        {
+          jam();
+          hostptr.p->hostLqhBlockRef = numberToRef(DBLQH, i);
+        }
       }//if
     }//if
   }//for
@@ -4898,7 +4921,7 @@ Dbtc::sendCommitLqh(Signal* signal,
   }
 
   // currently packed signal cannot address specific instance
-  const bool send_unpacked = getNodeInfo(Thostptr.i).m_lqh_workers != 0;
+  const bool send_unpacked = getNodeInfo(Thostptr.i).m_lqh_workers > 1;
   if (send_unpacked) {
     memcpy(&signal->theData[0], &Tdata[0], len << 2);
     Uint32 instanceKey = regTcPtr->lqhInstanceKey;
@@ -5280,7 +5303,7 @@ Dbtc::sendCompleteLqh(Signal* signal,
   Uint32 len = 3;
 
   // currently packed signal cannot address specific instance
-  const bool send_unpacked = getNodeInfo(Thostptr.i).m_lqh_workers != 0;
+  const bool send_unpacked = getNodeInfo(Thostptr.i).m_lqh_workers > 1;
   if (send_unpacked) {
     memcpy(&signal->theData[0], &Tdata[0], len << 2);
     Uint32 instanceKey = regTcPtr->lqhInstanceKey;
@@ -5361,7 +5384,7 @@ Dbtc::sendRemoveMarker(Signal* signal, 
   Uint32 len = 3;
 
   // currently packed signals can not address specific instance
-  bool send_unpacked = getNodeInfo(hostPtr.i).m_lqh_workers != 0;
+  bool send_unpacked = getNodeInfo(hostPtr.i).m_lqh_workers > 1;
   if (send_unpacked) {
     jam();
     // first word omitted
