Messages in this thread | | | From | jmerkey@comcast ... | Subject | port of Kdebug - Linux 2.6 stability and performance issues | Date | Wed, 28 Jul 2004 17:30:08 +0000 |
| |
I have completed the port of the Kdebug kernel debugger to 2.6 and I have found a lot of areas where there are some stability issues. The backtrace function in KDB and the backtrace function I use in MDB both have problems with __copy_to_user() causing system crashes if the debugger gets interrupted when in user space (0x40000000) code address ranges. I am also seeing some severe performance issues with __copy_to_user() reading large numbers of small reads i.e. 4 byte reads at a time. This is done in the debuggers to allow reads from memory to avoid crashes inside the debugger if for some reason you get a bad memory address when dumping memory or reading pointers, etc. I have gone through all of the console code and I know the problem is not here since I use my own screen manager and basically push the Linux console code to the side so folks can use the debugger to debug console drivers, etc. so I rely as little as possible on the Linux core code and MDB is basically a self contained "bubble" of code that hooks the IDT and exceptions to allow a much of Linux to be debugged.
I have also ported all the file systems and I must say, BIO performance is very stunning in lowering the submission overhead as reported by Linus and Jens, and I am seeing somewhat better I/O performance. However, the keyboard driver has some problems with the rep flag loosing state in drivers/char/keyboard.c and __copy_to_user() performance absolutely **SUCKS** compared to 2.4.21. with screen and backtrace displays with large numbers of small writes and reads. I/O system is better but overall 2.6 does not appear very stable on 2.6 at present.
Does anyone have any ideas as to why we would see crashes in calls to __copy_to_user() which result in the system totally hanging up the system.
Jeff - 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/
| |