public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Performance of 2.4.17-based Kernel vs 2.5.26-based Kernel Under Database Workload
@ 2002-08-22 22:28 Peter Wong
  2002-08-22 23:15 ` serial driver maintaner Omar
  0 siblings, 1 reply; 3+ messages in thread
From: Peter Wong @ 2002-08-22 22:28 UTC (permalink / raw)
  To: linux-kernel, lse-tech; +Cc: Jens Axboe, Andrew Morton


I have compared the performance of 2.4.17 kernel+patches against that
of 2.5.26 kernel+patches under a very heavy database workload. A
100 GB database is used and stored on raw devices. The workload
consists of a sequence of highly complex queries, and is processed
with a 8-way 700 HMz Pentium III Xeon machine, 4 GB RAM and 2 MB L2
cache. Six SCSI adapters are used with 120 disks, each of which has
a capacity of 9.1 GB and a rotational speed of 10K RPM.

Details of the kernels:

The 2.4.17+ kernel consists of:
  - 2.4.17 (kernel.org)
  - bounce buffer patch (Jens Axboe)
  - IPS patch (Peter Wong)
  - io_request_lock patch (Jonathan Lahr)
  - rawvary patch (Badari Pulavarty)
  - changes to TASK_UNMAPPED_BASE and PAGE_OFFSET to provide
    more room for the database bufferpool

The 2.5.26+ kernel consists of
  - 2.5.26 (kernel.org)
  - direct I/O patch (Andrew Morton, Badari Pulavarty ported it
                      from 2.5.31)
  - changes to exec.c (a fix needed to run the benchmark)
  - changes to TASK_UNMAPPED_BASE to provide more room for the
    database bufferpool

Based upon the throughput of the workload, there is a 8% improvement
of 2.5.26+ over 2.4.17+, which indicates that the new 2.5 code
performs better than the 2.4 code. Indeed, the bounce buffer patch,
the removal of io_request_lock, and efficient handling of large I/O
via the bio struct are already incorporated into the 2.5 kernel.

I have not collected lockmeter and kernprof data on 2.5.26+ yet.
However, I have collected them on the 2.5.25-based kernel. Note
that the 2.5.25-based kernel achieves about the same performance
level as the 2.5.26+ kernel.

The lockmeter tool indicates no hot locks, and in fact, there is
almost no lock contention on the system. By examining one query
which scans a ~75 GB table and performs simple comparisons, the
lock spin time is close to 0%. The top lock is used inside the
IPS interrupt handler routine. The following is a clip of the
lockmeter result showing the *TOTAL* and do_ipsinstr+0x24.


SPINLOCKS       HOLD            WAIT
  UTIL  CON  MEAN(  MAX )   MEAN(  MAX )(% CPU)     TOTAL  NAME

       2.0%  5.3us(8532us)  9.5us( 414us)(0.07%)  65591728  *TOTAL*

15.3% 0.74%   63us( 162us)   10us( 202us)(0.00%)   1326034  do_ipsintr
                                                            +0x24

All of the other complex queries show a similar lockmeter result.

Using the kernprof tool to examine the same query, do_ipsintr is also
at the top of the list, but it only consumes a small percentage of
the total time. The following is a clip of the kernprof result showing
the top functions.


        TOTAL_SAMPLES                  3137055
        USER [c0125ef0]:               2159334    (68.8%)
        default_idle [c0105310]:        759032    (24.2%)
        do_ipsintr [c0213810]:           76169    ( 2.4%)
        do_softirq [c011b930]:           46244    ( 1.5%)
        scsi_dispatch_cmd [c01f58b0]:    12937    ( 0.4%)

All of the other complex queries show a similar kernprof result for
the top functions.

Regards,
Peter

Peter Wai Yee Wong
IBM Linux Technology Center, Performance Analysis
email: wpeter@us.ibm.com



^ permalink raw reply	[flat|nested] 3+ messages in thread

* serial driver maintaner
  2002-08-22 22:28 Performance of 2.4.17-based Kernel vs 2.5.26-based Kernel Under Database Workload Peter Wong
@ 2002-08-22 23:15 ` Omar
  2002-08-23 13:23   ` Stuart MacDonald
  0 siblings, 1 reply; 3+ messages in thread
From: Omar @ 2002-08-22 23:15 UTC (permalink / raw)
  To: linux-kernel


I've been trying to find out information on the Linux serial driver.  The
maintainer hasn't updated his web site in a long time, does anyone know if
he's still maintaining it ??

I am asking because I have a uart that isn't directly supported in the
driver and I may need to add support for it, but I don't want to modify the
serial driver unless it can be included in the main distribution channel.

The uart in question is a TI 16C752.   I've tried using it with 16750 and
16650 settings,and it occasionally drops characters or receives duplicate
characters.



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: serial driver maintaner
  2002-08-22 23:15 ` serial driver maintaner Omar
@ 2002-08-23 13:23   ` Stuart MacDonald
  0 siblings, 0 replies; 3+ messages in thread
From: Stuart MacDonald @ 2002-08-23 13:23 UTC (permalink / raw)
  To: Omar, linux-kernel

From: "Omar" <omar@natasha.org>
> I've been trying to find out information on the Linux serial driver.  The
> maintainer hasn't updated his web site in a long time, does anyone know if
> he's still maintaining it ??

Ted doesn't seem to be maintaining it anymore. If you look in the
linux-kernel archive you'll find that Russell King is doing a rewrite
for 2.5/6 anyway.

> I am asking because I have a uart that isn't directly supported in the
> driver and I may need to add support for it, but I don't want to modify
the
> serial driver unless it can be included in the main distribution channel.

Update the driver, make a patch and send it to the list. If it's good
likely it will be included.

You may want to check out linux-serial also.

..Stu



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-08-23 13:17 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-08-22 22:28 Performance of 2.4.17-based Kernel vs 2.5.26-based Kernel Under Database Workload Peter Wong
2002-08-22 23:15 ` serial driver maintaner Omar
2002-08-23 13:23   ` Stuart MacDonald

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox