lkml.org 
[lkml]   [2000]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 2.3.47: elevator nr_segments x should be x+1
On Tue, 22 Feb 2000, Andrea Arcangeli wrote:

>On 21 Feb 2000, David Wragg wrote:
>
>>The bad news is this:
>>
>>03:08: elevator nr_segments 197 should be 198
>>03:08: elevator nr_segments 239 should be 240
>
>Don't worry about this. It's can't harm per se. Anyway it's interesting to
>discover why this is happening. Can you reproduce?

This patch against 2.3.49 will fix the above warning:

--- elevator/drivers/block/DAC960.c.~1~ Fri Mar 3 02:19:23 2000
+++ elevator/drivers/block/DAC960.c Sat Mar 4 19:53:03 2000
@@ -1051,20 +1051,23 @@
int max_segments;
DAC960_Controller_T * Controller = q->queuedata;
int total_segments = req->nr_segments + next->nr_segments;
+ int same_segment;

max_segments = Controller->MaxSegmentsPerRequest[MINOR(req->rq_dev)];
if (__max_segments < max_segments)
max_segments = __max_segments;

+ same_segment = 0;
if (req->bhtail->b_data + req->bhtail->b_size == next->bh->b_data)
{
total_segments--;
- q->nr_segments--;
+ same_segment = 1;
}

if (total_segments > max_segments)
return 0;

+ q->nr_segments -= same_segment;
req->nr_segments = total_segments;
return 1;
}
--- elevator/drivers/block/ll_rw_blk.c.~1~ Sun Feb 27 06:19:42 2000
+++ elevator/drivers/block/ll_rw_blk.c Sat Mar 4 19:53:58 2000
@@ -212,15 +212,18 @@
struct request *next, int max_segments)
{
int total_segments = req->nr_segments + next->nr_segments;
+ int same_segment;

+ same_segment = 0;
if (req->bhtail->b_data + req->bhtail->b_size == next->bh->b_data) {
total_segments--;
- q->nr_segments--;
+ same_segment = 1;
}

if (total_segments > max_segments)
return 0;

+ q->nr_segments -= same_segment;
req->nr_segments = total_segments;
return 1;
}

You can test it while I fix the other minor glitches.

Andrea


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:56    [W:0.119 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site