lkml.org 
[lkml]   [2004]   [Jan]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Unneeded Code Found??
Nick Piggin wrote:

>>> Randy Appleton wrote:
>>>
>>>> I think I have found some useless code in the Linux kernel
>>>> in the block request functions.
>>>>
>>>>
>>>> I have modified the __make_request function in ll_rw_blk.c.
>>>> Now every request for a block off the hard drive is logged.
>>>>
>>>>
>>>> The function __make_request has code to attempt to merge the current
>>>> block request with some contigious existing request for better
>>>> performance. This merge function keeps a one-entry cache pointing
>>>> to the
>>>> last block request made. An attempt is made to merge the current
>>>> request with the last request, and if that is not possible then
>>>> a search of the whole queue is done, looking at merger possibililites.
>>>>
>>>>
>>>> Looking at the data from my logs, I notice that over 50% of all
>>>> requests
>>>> can be merged. However, a merge only ever happens between the
>>>> current request and the previous one. It never happens between the
>>>> current request and any other request that might be in the queue (for
>>>> more than 50,000 requests examined).
>>>>
>>>>
>>>> This is true for several test runs, including "daily usage" and doing
>>>> two kernel compiles at the same time. I have only tested on a
>>>> single-CPU machine.
>>>>
>> Does anyone know that this code is actualy useful? Has anyone ever
>> seen it actually do a merge of consecutive
>> data accesses for requests that were not issued themselves
>> consequtively?
>>
> Yes it gets used.
>
> I think its a lot more common with direct io and when you have lots of
> processes.

I'm not arguing, but how do you know this? I'm trying to convince
myself that the code is used, and at least on my system
a few days of general use, followed by heavy parallel compiles, doesn't
use the code even once.

I have not tested direct I/O. Otherwise it looks unused.

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

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