From: Burkhard K. <bu...@bu...> - 2000-09-19 20:18:08
|
From: Burkhard Kohl <bu...@bu...> Message-Id: <200...@bu...> Subject: Re: [hpoj-devel] kernel drivers broken with SMP In-Reply-To: <200009180732.AAA13385@axel.local> from David Paschal at "Sep 18, 2000 00:32:56 am" To: hpo...@li... Date: Tue, 19 Sep 2000 20:39:54 +0200 (CEST) X-Mailer: ELM [version 2.4ME+ PL60 (25)] David Paschal > Hi, Gerhard and Burkhard. Thanks for providing the information regarding > the SMP and 2.4-kernel problems, which seem to be interrelated. You seem > to have a much better understanding of kernel issues than I do. If either > or both of you would be willing to work towards a solution to these problems, > that would be greatly appreciated, and would leave me more time to develop > scanning support for the scrollfed MFPs, which I started working on last week. > :-) > I started to work on the SMP/2.4 issues - might take some time, since I can do this only in my spare time. But I have to point out that I have no SMP system to test on and that I am less than familiar with the locking necessities of socket related issues. And I am not what would be called a *real* kernel hacker. > ger...@mc... said: > > 1. A driver, that has been compiled for an UP kernel cannot be used > > with > > an SMP kernel (and vice versa). > > An SMP module must be compiled using kernel header files > > which are configured for SMP (-> CONFIG_SMP) and with the > > compiler flag -D__SMP__ > > > Is the current Makefile prepared to compile either SMP or UP > > modules? > Good point. Currently, ieee12844/Makefile.in starts with the following lines: > SMP= > # SMP=-D__SMP__ > > CFLAGS = -O @INCLUDE_CMDLINE@ -Wall -Wstrict-prototypes -D__KERNEL__ \ > -DMODULE -DEXPORT_SYMTAB $(SMP) > As it stands now, the __SMP__ symbol is not passed to kernel includes. > So, Alexander, one thing you could try is uncommenting out the second line. > If you modify Makefile, then you can recompile right away but the change > will be lost the next time you run the ./configure script. If you modify > Makefile.in, then you will need to re-run ./configure before you try > recompiling. Since this problem appears in all versions, you might as well > use the latest (0.6). This could be cured by looking at CONFIG_SMP from <linux/config.h> and defining __SMP__ accordingly before inclusion of any other header files. I can take care of that. If anyone wants to compile an SMP-module although the kernel is configured non-SMP and vice versa, he/she has to edit the Makefile. Burkhard -- Burkhard Kohl bu...@bu... |