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.023 / U:61.352 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site