Re: The true state of lkcd?
Micah Anderson <[email protected]> Wed, 5 May 2004 18:17:03 -0500
| Newsgroups | gmane.linux.lkcd.general |
|---|---|
| Message-ID | <[email protected]> |
Hari, I am incorporating this release into the next debian package, are there any more 2.4 kernel patches that I can also include (2.4.24, 2.4.25 or 2.4.26)? I hope to get the lkcdutils packaged next. Micah On Tue, 09 Dec 2003, Hariprasad Nellitheertha wrote: > Hello All, > > I was able to get the patches for 2.4.23 ready. I am reproducing the > steps to get this working from yesterday's note. > > 1. Download the "2.4" and "lkcdutils" code from cvs using the tag > "linux-2423". Use the following commands to download them. > > cvs -z 9 -d:pserver:[email protected]:443/cvsroot/lkcd co -P > -r linux-2423 2.4 > > cvs -z 9 -d:pserver:[email protected]:443/cvsroot/lkcd co -P > -r linux-2423 lkcdutils > > 2. Copy over the 2.4 directory contents onto the linux-2.4.23 vanilla > source tree. > > 3. Apply the lkcd-2423.patch (attached with this note) to the kernel > source tree. > > 4. Build and boot to the new kernel. You should have an lkcd enabled > 2.4.23 kernel. > > 5. The normal configure/make/make install steps will suffice for > lkcdutils. > > Kindly test this and let us know the results. > > Regards, Hari > > > > On Thu, 2003-11-27 at 13:14, Micah Anderson wrote: > > > And which one of these is considered stable or at least a release? It > > > seems like 4.1-1 is the "released" lkcdutils, but if I have a 2.4.22 > > > kernel, can I apply the 2.4.21 patch and use lkcdutils 4.1-1, or can I only > > > use 4.2? Or should I be using the 2.4.20 patch? > > > > > > Thanks, > > > micah > > > > > diff -Naur linux-2.4.23.before/Makefile linux-2.4.23.after/Makefile > --- linux-2.4.23.before/Makefile 2003-12-09 11:29:52.000000000 +0530 > +++ linux-2.4.23.after/Makefile 2003-12-09 11:27:49.000000000 +0530 > @@ -152,6 +152,7 @@ > DRIVERS-$(CONFIG_FC4) += drivers/fc4/fc4.a > DRIVERS-$(CONFIG_SCSI) += drivers/scsi/scsidrv.o > DRIVERS-$(CONFIG_FUSION_BOOT) += drivers/message/fusion/fusion.o > +DRIVERS-$(CONFIG_DUMP) += drivers/dump/dumpdrv.o > DRIVERS-$(CONFIG_IEEE1394) += drivers/ieee1394/ieee1394drv.o > > ifneq ($(CONFIG_CD_NO_IDESCSI)$(CONFIG_BLK_DEV_IDECD)$(CONFIG_BLK_DEV_SR)$(CONFIG_PARIDE_PCD),) > @@ -172,7 +173,7 @@ > DRIVERS-$(CONFIG_PPC32) += drivers/macintosh/macintosh.o > DRIVERS-$(CONFIG_MAC) += drivers/macintosh/macintosh.o > DRIVERS-$(CONFIG_ISAPNP) += drivers/pnp/pnp.o > -DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/sgi.a > +#DRIVERS-$(CONFIG_SGI_IP22) += drivers/sgi/sgi.a > DRIVERS-$(CONFIG_VT) += drivers/video/video.o > DRIVERS-$(CONFIG_PARIDE) += drivers/block/paride/paride.a > DRIVERS-$(CONFIG_HAMRADIO) += drivers/net/hamradio/hamradio.o > diff -Naur linux-2.4.23.before/arch/i386/config.in linux-2.4.23.after/arch/i386/config.in > --- linux-2.4.23.before/arch/i386/config.in 2003-12-09 11:29:52.000000000 +0530 > +++ linux-2.4.23.after/arch/i386/config.in 2003-12-09 11:28:34.000000000 +0530 > @@ -231,6 +231,7 @@ > define_bool CONFIG_X86_IO_APIC y > fi > else > + int 'Maximum number of CPUs (2-32)' CONFIG_NR_CPUS 32 > bool 'Multi-node NUMA system support' CONFIG_X86_NUMA > if [ "$CONFIG_X86_NUMA" = "y" ]; then > #Platform Choices > diff -Naur linux-2.4.23.before/arch/i386/kernel/irq.c linux-2.4.23.after/arch/i386/kernel/irq.c > --- linux-2.4.23.before/arch/i386/kernel/irq.c 2003-12-09 11:32:53.000000000 +0530 > +++ linux-2.4.23.after/arch/i386/kernel/irq.c 2003-12-09 11:29:35.000000000 +0530 > @@ -1091,7 +1091,7 @@ > > static struct proc_dir_entry * smp_affinity_entry [NR_IRQS]; > > -static unsigned long irq_affinity [NR_IRQS] = { [0 ... NR_IRQS-1] = ~0UL }; > +unsigned long irq_affinity [NR_IRQS] = { [0 ... NR_IRQS-1] = ~0UL }; > static int irq_affinity_read_proc (char *page, char **start, off_t off, > int count, int *eof, void *data) > { > diff -Naur linux-2.4.23.before/drivers/Makefile linux-2.4.23.after/drivers/Makefile > --- linux-2.4.23.before/drivers/Makefile 2003-12-09 11:29:53.000000000 +0530 > +++ linux-2.4.23.after/drivers/Makefile 2003-12-09 11:27:56.000000000 +0530 > @@ -6,7 +6,7 @@ > # > > > -mod-subdirs := dio hil mtd sbus video macintosh usb input telephony sgi ide \ > +mod-subdirs := dio hil mtd sbus video macintosh usb input telephony ide \ > message/i2o message/fusion scsi md ieee1394 pnp isdn atm \ > fc4 net/hamradio i2c acpi bluetooth dump > > @@ -30,7 +30,7 @@ > subdir-$(CONFIG_USB) += usb > subdir-$(CONFIG_INPUT) += input > subdir-$(CONFIG_PHONE) += telephony > -subdir-$(CONFIG_SGI) += sgi > +#subdir-$(CONFIG_SGI) += sgi > subdir-$(CONFIG_IDE) += ide > subdir-$(CONFIG_SCSI) += scsi > subdir-$(CONFIG_I2O) += message/i2o > diff -Naur linux-2.4.23.before/include/asm-i386/smp.h linux-2.4.23.after/include/asm-i386/smp.h > --- linux-2.4.23.before/include/asm-i386/smp.h 2002-11-29 05:23:15.000000000 +0530 > +++ linux-2.4.23.after/include/asm-i386/smp.h 2003-12-09 11:28:16.000000000 +0530 > @@ -31,7 +31,11 @@ > > extern void smp_alloc_memory(void); > extern unsigned long phys_cpu_present_map; > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE) > +extern volatile unsigned long cpu_online_map; > +#else > extern unsigned long cpu_online_map; > +#endif > extern volatile unsigned long smp_invalidate_needed; > extern int pic_mode; > extern int smp_num_siblings; > diff -Naur linux-2.4.23.before/include/linux/mm.h linux-2.4.23.after/include/linux/mm.h > --- linux-2.4.23.before/include/linux/mm.h 2003-12-09 11:29:53.000000000 +0530 > +++ linux-2.4.23.after/include/linux/mm.h 2003-12-09 11:29:06.000000000 +0530 > @@ -317,9 +317,11 @@ > #define TryLockPage(page) test_and_set_bit(PG_locked, &(page)->flags) > #define PageChecked(page) test_bit(PG_checked, &(page)->flags) > #define SetPageChecked(page) set_bit(PG_checked, &(page)->flags) > +#define ClearPageChecked(page) clear_bit(PG_checked, &(page)->flags) > #define PageLaunder(page) test_bit(PG_launder, &(page)->flags) > #define SetPageLaunder(page) set_bit(PG_launder, &(page)->flags) > #define ClearPageLaunder(page) clear_bit(PG_launder, &(page)->flags) > +#define ClearPageArch1(page) clear_bit(PG_arch_1, &(page)->flags) > > /* > * The zone field is never updated after free_area_init_core() > diff -Naur linux-2.4.23.before/kernel/panic.c linux-2.4.23.after/kernel/panic.c > --- linux-2.4.23.before/kernel/panic.c 2003-12-09 11:32:40.000000000 +0530 > +++ linux-2.4.23.after/kernel/panic.c 2003-12-09 11:29:17.000000000 +0530 > @@ -13,6 +13,9 @@ > #include <linux/delay.h> > #include <linux/reboot.h> > #include <linux/notifier.h> > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE) > +#include <linux/dump.h> > +#endif > #include <linux/init.h> > #include <linux/sysrq.h> > #include <linux/interrupt.h> > @@ -21,6 +24,11 @@ > asmlinkage void sys_sync(void); /* it's really int */ > > int panic_timeout; > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE) > +int (*dump_function_ptr)(char *, struct pt_regs *) = 0; > +volatile int dump_in_progress = 0; > +volatile int dumping_cpu = 0; > +#endif > > struct notifier_block *panic_notifier_list; > > @@ -52,6 +60,11 @@ > unsigned long caller = (unsigned long) __builtin_return_address(0); > #endif > > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE) > + struct pt_regs regs; > + get_current_regs(®s); > +#endif > + > #ifdef CONFIG_VT > disable_console_blank(); > #endif > @@ -70,12 +83,18 @@ > sys_sync(); > bust_spinlocks(0); > > +#if !defined(CONFIG_DUMP) && !defined(CONFIG_DUMP_MODULE) > #ifdef CONFIG_SMP > smp_send_stop(); > #endif > +#endif > > notifier_call_chain(&panic_notifier_list, 0, NULL); > > +#if defined(CONFIG_DUMP) || defined(CONFIG_DUMP_MODULE) > + dump(buf, ®s); > +#endif > + > if (panic_timeout > 0) > { > /* > diff -Naur linux-2.4.23.before/mm/page_alloc.c linux-2.4.23.after/mm/page_alloc.c > --- linux-2.4.23.before/mm/page_alloc.c 2003-12-09 11:32:27.000000000 +0530 > +++ linux-2.4.23.after/mm/page_alloc.c 2003-12-09 11:28:49.000000000 +0530 > @@ -89,6 +89,8 @@ > struct page *base; > zone_t *zone; > > + ClearPageInuseOrder(page, order); /* controlled by CONFIG_DUMP for lkcd */ > + > /* > * Yes, think what happens when other parts of the kernel take > * a reference to a page in order to pin it for io. -ben > @@ -228,6 +230,8 @@ > page = expand(zone, page, index, order, curr_order, area); > spin_unlock_irqrestore(&zone->lock, flags); > > + SetPageInuseOrder(page, order); /* controlled by CONFIG_DUMP for lkcd */ > + > set_page_count(page, 1); > if (BAD_RANGE(zone,page)) > BUG(); > @@ -287,6 +291,9 @@ > set_page_count(tmp, 1); > page = tmp; > > + SetPageInuseOrder(page, order); /* controlled by CONFIG_ > + DUMP for lkcd */ > + > if (page->buffers) > BUG(); > if (page->mapping) ------------------------------------------------------- This SF.Net email is sponsored by Sleepycat Software Learn developer strategies Cisco, Motorola, Ericsson & Lucent use to deliver higher performing products faster, at low TCO. http://www.sleepycat.com/telcomwpreg.php?From=osdnemail3