coco3: drivewire: dynamic polling back-off.
authorBrett Gordon <beretta42@gmail.com>
Wed, 16 Nov 2016 01:53:54 +0000 (20:53 -0500)
committerBrett Gordon <beretta42@gmail.com>
Wed, 16 Nov 2016 01:53:54 +0000 (20:53 -0500)
Kernel/platform-coco3/ttydw.c

index 0383681..c9c5b2a 100644 (file)
@@ -244,14 +244,14 @@ void dw_vpoll( ){
                        min=mini( buf[1], qfree( minor ) );
                        b[2]=min;
                        if( !min ){
-                               wait=1;
+                               wait = MAX_WAIT;
                                break;
                        }
                        dw_transaction( b,3,tbuf, min, 0 );
                        for( i=0; i<min; i++){
                                tty_inproc( minor, tbuf[i] );
                        }
-                       wait=1;
+                       wait = 16 - (min >> 4);
                        break;
                }
                /* VWIN channel single datum */