All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: "bio too big" error
From: Wil Reichert @ 2002-12-11 13:40 UTC (permalink / raw)
  To: Greg KH; +Cc: Andrew Morton, Jens Axboe, linux-kernel
In-Reply-To: <20021211051100.GA13718@kroah.com>

> Did you try the dm patches that were just posted to lkml today?

Just subscribed today, missed 'em.  You're refering to

http://people.sistina.com/~thornber/patches/2.5-stable/2.5.50/2.5.50-dm-2.tar.bz2 ?

They result in:

darwin:~# /etc/init.d/lvm2 start
Initializing LVM: device-mapper: device /dev/discs/disc4/disc too small
for target
device-mapper: internal error adding target to table
device-mapper: destroying table
  device-mapper ioctl cmd 2 failed: Invalid argument
  Couldn't load device 'cheese_vg-blah'.
  0 logical volume(s) in volume group "cheese_vg" now active
lvm2.

Guess I'll give 2.5.51 w/ the dm patches a shot.

Wil




^ permalink raw reply

* Re: 2.5.51 breaks ALSA AWE32
From: John Bradford @ 2002-12-11 13:47 UTC (permalink / raw)
  To: Sam Ravnborg; +Cc: perex, kai, linux-kernel
In-Reply-To: <20021210205321.GA2321@mars.ravnborg.org>

> > make -f scripts/Makefile.build obj=sound/synth/emux
> >    ld -m elf_i386  -r -o sound/synth/built-in.o sound/synth/emux/built-in.o
> > ld: cannot open sound/synth/emux/built-in.o: No such file or directory
> > make[2]: *** [sound/synth/built-in.o] Error 1
> > make[1]: *** [sound/synth] Error 2
> > make: *** [sound] Error 2
> 
> kbuild in 2.5.51 requires that there exist one variable named obj-*
> before built-in.o is generated.
> In the Makefile for sound/synth/emux the variables obj-* is only set if
> CONFIG_SND_SEQUENCER is set to y or m.
> 
> The best approach may be a derived bool defined in Kconfig, but
> an alterneative solution is to rearrange the Makefile a bit.
> 
> Try the following (untested) patch.

Same error I'm afraid :-/

John.

^ permalink raw reply

* Re: [lvm-devel] Re: [PATCH] dm.c - device-mapper I/O path fixes
From: Kevin Corry @ 2002-12-11 12:52 UTC (permalink / raw)
  To: Joe Thornber; +Cc: Linus Torvalds, Kernel Mailing List, lvm-devel
In-Reply-To: <20021211121749.GA20782@reti>

On Wednesday 11 December 2002 06:17, Joe Thornber wrote:
> Kevin,
>
> On Tue, Dec 10, 2002 at 04:03:47PM -0600, Kevin Corry wrote:
> > Joe, Linus,
> >
> > This patch fixes problems with the device-mapper I/O path in 2.5.51. The
> > existing code does not properly split requests when necessary, and can
> > cause segfaults and/or data corruption. This can easily manifest itself
> > when running XFS on striped LVM volumes.
>
> Many thanks for doing this work, but _please_ split your patches up more.
> There are several changes rolled in here.

Sorry if I included too many changes in one post. I guess I didn't think the 
patch was really that big.

> I've split the patch up, and will post the ones I'm accepting as
> replies to this current mail.
>
> The full set of changes for 2.5.51 is available here:
> http://people.sistina.com/~thornber/patches/2.5-stable/2.5.51/
>
> This works for me with xfs and stripes (limited testing).
>
>
> These are the bits of your patch that I have queries about:
>
> --- linux-2.5.51a/drivers/md/dm.c	Tue Dec 10 11:01:13 2002
> +++ linux-2.5.51b/drivers/md/dm.c	Tue Dec 10 11:03:55 2002
> @@ -242,4 +242,4 @@
> -		bio_endio(io->bio, io->error ? 0 : io->bio->bi_size, io->error);
> +		bio_endio(io->bio, io->bio->bi_size, io->error);
>
> You seem to be assuming that io->bio->bi_size will always be zero if
> an error occurs.  I was not aware that this was the case.

I'm simply going by the convention used by the other kernel drivers. Do a
grep for bio_endio and bio_io_error in drivers/. Most drivers (e.g. md, loop, 
rd, umem) call bio_endio() and bio_io_error() with the current bi_size of the 
bio they're completing.


> @@ -261,15 +262,15 @@
>  {
>  	struct dm_io *io = bio->bi_private;
>
> -	/*
> -	 * Only call dec_pending if the clone has completely
> -	 * finished.  If a partial io errors I'm assuming it won't
> -	 * be requeued.  FIXME: check this.
> -	 */
> -	if (error || !bio->bi_size) {
> -		dec_pending(io, error);
> -		bio_put(bio);
> +	if (bio->bi_size)
> +		return 1;
> +
> +	if (error) {
> +		struct gendisk *disk = dm_disk(io->md);
> +		DMWARN("I/O error (%d) on device %s\n", error, disk->disk_name);
>  	}
> +	dec_pending(io, error);
> +	bio_put(bio);
>
>  	return 0;
>  }
>
>
> All you're doing here is adding a warning (which is nice), and making
> the same assumption about bio->bi_size in the case of an error.

Again, I changed this based on conventions used by other drivers. Take a look 
at loop_end_io_transfer() in drivers/block/loop.c, or end_request() and 
end_sync_write() in drivers/md/raid1.c. If a driver doesn't want to bother 
with partion bio completions (and DM shouldn't), it should do a
  if (bio->bi_size) return 1;
statement at the top of its callback. Check out the original comments 
regarding this in the BK tree at:
http://linux.bkbits.net:8080/linux-2.5/cset@1.536.40.4?nav=index.html|ChangeSet@-1y

> @@ -457,13 +483,13 @@
>  		up_read(&md->lock);
>
>  		if (bio_rw(bio) == READA) {
> -			bio_io_error(bio, 0);
> +			bio_io_error(bio, bio->bi_size);
>  			return 0;
>  		}
>
>  		r = queue_io(md, bio);
>  		if (r < 0) {
> -			bio_io_error(bio, 0);
> +			bio_io_error(bio, bio->bi_size);
>  			return 0;
>
>  		} else if (r == 0)
>
> Why is it better to say that all the io was 'done' rather than none?
> It did fail after all.

See comments above.

> @@ -369,24 +369,48 @@
>  {
>  	struct bio *clone, *bio = ci->bio;
>  	struct dm_target *ti = dm_table_find_target(ci->md->map, ci->sector);
> -	sector_t len = max_io_len(ci->md, bio->bi_sector, ti);
> +	sector_t bv_len, len = max_io_len(ci->md, ci->sector, ti);
> +	struct bio_vec *bv;
> +	int i, vcnt = bio->bi_vcnt - ci->idx;
>
>  	/* shorter than current target ? */
>  	if (ci->sector_count < len)
>  		len = ci->sector_count;
>
>  	/* create the clone */
> -	clone = bio_clone(ci->bio, GFP_NOIO);
> +	clone = bio_alloc(GFP_NOIO, vcnt);
> +	if (!clone) {
> +		dec_pending(ci->io, -ENOMEM);
> +		return;
> +	}
>  	clone->bi_sector = ci->sector;
> -	clone->bi_idx = ci->idx;
> +	clone->bi_bdev = bio->bi_bdev;
> +	clone->bi_rw = bio->bi_rw;
> +	clone->bi_vcnt = vcnt;
>  	clone->bi_size = len << SECTOR_SHIFT;
>  	clone->bi_end_io = clone_endio;
>  	clone->bi_private = ci->io;
>
> +	/* copy the original vector and adjust if necessary. */
> +	memcpy(clone->bi_io_vec, bio->bi_io_vec + ci->idx,
> +	       vcnt * sizeof(*clone->bi_io_vec));
> +	bv_len = len << SECTOR_SHIFT;
> +	bio_for_each_segment(bv, clone, i) {
> +		if (bv_len >= bv->bv_len) {
> +			bv_len -= bv->bv_len;
> +		} else {
> +			bv->bv_len = bv_len;
> +			clone->bi_vcnt = i + 1;
> +			break;
> +		}
> +	}
> +
> +	/* submit this io */
> +	__map_bio(ti, clone);
> +
>  	/* adjust the remaining io */
>  	ci->sector += len;
>  	ci->sector_count -= len;
> -	__map_bio(ti, clone);
>
>  	/*
>  	 * If we are not performing all remaining io in this
> @@ -395,9 +419,9 @@
>  	 */
>  	if (ci->sector_count) {
>  		while (len) {
> -			struct bio_vec *bv = clone->bi_io_vec + ci->idx;
> -			sector_t bv_len = bv->bv_len >> SECTOR_SHIFT;
> +			bv = bio->bi_io_vec + ci->idx;
> +			bv_len = bv->bv_len >> SECTOR_SHIFT;
>  			if (bv_len <= len)
>  				len -= bv_len;
>
>
> There is no need to use bio_alloc in preference to bio_clone, we're
> not changing the bvec in any way.  All of the above code is redundant.

Yes, we *are* going to have to change the bvec (as I implied in my original 
post). If you split a bio, and that split occurs in the middle of one of the 
bvecs (i.e. in the middle of a page), then the bv_len field in that bvec 
*must* be adjusted accordingly (which is what the bio_for_each_segment loop 
above does). Otherwise when blk_rq_map_sg() in drivers/block/ll_rw_block.c 
processes that bio, it will think that bvec contains a full page. Since that 
page obviously spans a stripe or PE boundary, this is going to cause data 
corruption.

-- 
Kevin Corry
corryk@us.ibm.com
http://evms.sourceforge.net/

^ permalink raw reply

* PWM on the MPC850
From: Donald MacArthur @ 2002-12-11 13:31 UTC (permalink / raw)
  To: linuxppc-embedded


Does have any information regarding generating RC spec PWM signals using the
MPC850
that does not bog down the processor?  Also does anyone know how to expand
the number
of RS232 ports for the MPS850 from two to 2+.

Thank You
Donald MacArthur


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply

* RE: PPTP+NAT+MASQ anyone?
From: Rob Sterenborg @ 2002-12-11 13:29 UTC (permalink / raw)
  To: 'Roy Sigurd Karlsbakk'; +Cc: Netfilter mailinglist
In-Reply-To: <200212111249.53924.roy@karlsbakk.net>

> yes. I get this error message when trying to patch 2.4.{19|20}. 

I compiled my 2.4.20 kernel yesterday (with pptp, h323, etc, etc) using
POM-20021208 just to test if I got any errors ; I don't and I have the
kernel up and running.

But I do get errors when compiling iptables-1.2.7a. I will post this in
another thread.


Rob



^ permalink raw reply

* Re: Is this going to be true ?
From: Richard B. Johnson @ 2002-12-11 13:38 UTC (permalink / raw)
  To: Serge Kuznetsov; +Cc: linux-kernel
In-Reply-To: <050c01c2a091$77564600$9c094d8e@wcom.ca>

On Tue, 10 Dec 2002, Serge Kuznetsov wrote:

> I am just curious if someone has an opinion for the 
> following link?
> 
> 
> Research Firm: Microsoft Will Use Linux by 2004:
> http://story.news.yahoo.com/news?tmpl=story2&ncid=&e=5&u=/nf/20021210/tc_nf/20210
> 

Not unless they do it from India. M$ has just invested many millions
in a "campus-like" facility in Bangalore, India, about 2 km from
the Indian Institute of Science (IISc). IBM already has such a facility
designed to reduce the cost of software development. I think we have
some persons from that IBM facility on "the list", that may offer some
idea of when the new Microsoft facility will be finished (it was a
recent ground-breaking). Microsoft intends to "continue to be a world
leader...etc..", and is positioning itself world-wide so it will not
even need the United States for distribution. This is its response to the
US lawsuits. Basically, they have outgrown the need for the United
States...

Cheers,
Dick Johnson
Penguin : Linux version 2.4.18 on an i686 machine (797.90 BogoMips).
Why is the government concerned about the lunatic fringe? Think about it.



^ permalink raw reply

* Re: IBM spamms me with error messages
From: Pavel Machek @ 2002-12-11 13:35 UTC (permalink / raw)
  To: Matti Aarnio; +Cc: kernel list
In-Reply-To: <20021210224325.GE32122@mea-ext.zmailer.org>

Hi!

> > I replied to some mail on l-k and IBM spammed me with 20+ error
> > messages. Now it is apparently going to do that again.
> 
>    Still/again ?

It seems to happen after I group-reply to message on the list. Being
subscribed and quiet does not seem to trigger it. When I do
group-reply, I do get pair of error messages, then another pair of
same error messages, and it continues like that.

This time it "only" sent two pairs of error messages...

							Pavel
-- 
Casualities in World Trade Center: ~3k dead inside the building,
cryptography in U.S.A. and free speech in Czech Republic.

^ permalink raw reply

* pci-skeleton duplex check
From: Roger Luethi @ 2002-12-11 13:24 UTC (permalink / raw)
  To: netdev

pci-skeleton (and some other net drivers) figure out the duplex setting
like this (leaving duplex locks out here):

int duplex = (lpar & 0x0100) || (lpar & 0x01C0) == 0x0040;

If we get past the first condition, we already know bit 8 must be 0. Why do
we check again in the second condition?

Roger

^ permalink raw reply

* [PATCH] mmap.c corner case fix, per David S. Miller
From: DervishD @ 2002-12-11 13:16 UTC (permalink / raw)
  To: Marcelo Tosatti; +Cc: Linux-kernel, David S. Miller

[-- Attachment #1: Type: text/plain, Size: 378 bytes --]

    Hi Marcelo :)

    This patch fixes the same corner case, but does something useful
even or architectures where TASK_SIZE is greater than SIZE_MAX-PAGE_SIZE

    The patch is from David S. Miller, not me. My patch was
incomplete and did nothing on 'big TASK_SIZE' architectures, as
sparc64.

    The patch is against both 2.4.20 and 2.4.21-pre1, is just the same.

    Raúl

[-- Attachment #2: mmap.c.diff --]
[-- Type: text/plain, Size: 407 bytes --]

--- linux/mm/mmap.c.orig	2002-12-11 13:59:37.000000000 +0100
+++ linux/mm/mmap.c	2002-12-11 14:01:16.000000000 +0100
@@ -403,10 +403,12 @@
 	if (file && (!file->f_op || !file->f_op->mmap))
 		return -ENODEV;
 
-	if ((len = PAGE_ALIGN(len)) == 0)
+	if (!len)
 		return addr;
 
-	if (len > TASK_SIZE)
+	len = PAGE_ALIGN(len);
+
+	if (len > TASK_SIZE || len == 0)
 		return -EINVAL;
 
 	/* offset overflow? */

^ permalink raw reply

* Re: [BK-2.4] [PATCH] Small do_mmap_pgoff correction
From: DervishD @ 2002-12-11 12:32 UTC (permalink / raw)
  To: David S. Miller; +Cc: linux-kernel, marcelo
In-Reply-To: <20021210.170644.97772177.davem@redhat.com>

    Hi David :)

>        Perfect :) If you want, I can make the patch and tell to Alan and
>    Linus. Anyway, I think you will better heared than me O:))
> If you could take care of this, I would really be happy.

    OK, then, I'll prepare the patch.

>        Anyway, I'll take a look at a new macro (lets say PAGE_ALIGN_SIZE
>    or something as ugly as this ;)))
> How many places do we try to apply PAGE_ALIGN to a length?
> If it's just one or two spots, perhaps the special macro
> isn't worthwhile.

    I've seen four or five, without a detailed examination. Anyway,
since it would be a dangerous change (being in the MM code), I'll
count ocurrences and problems. There is no intrinsic problem in using
PAGE_ALIGN on a size if we know that size is small enough.

    Thanks for all, Dave :)
    Raúl

^ permalink raw reply

* [PATCH] mmap.c - do_mmap_pgoff() small correction
From: DervishD @ 2002-12-11 13:32 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Linux-kernel, davem

[-- Attachment #1: Type: text/plain, Size: 623 bytes --]

    Hi Linus :)

    This is a correction for a patch I sent you that you included in
the 2.5.x tree. The patch I sent you fixed a corner case for the
mmap() syscall, where the requested size was too big (namely, bigger
than SIZE_MAX-PAGE_SIZE). Unfortunately, the patch did a wrong
assumption that is not true in some archs where TASK_SIZE is the full
address space available, as sparc64. So, the patch didn't fix
anything on those archs :((

    David S. Miller <davem@redhat.com> pointed this and made this new
patch that fixes the spot. Now it should work in all archs.

    If you have any doubt, just tell.

    Raúl

[-- Attachment #2: mmap.c.diff --]
[-- Type: text/plain, Size: 472 bytes --]

--- linux/mm/mmap.c.orig	2002-12-11 14:27:04.000000000 +0100
+++ linux/mm/mmap.c	2002-12-11 14:28:09.000000000 +0100
@@ -421,14 +421,14 @@
 	if (file && (!file->f_op || !file->f_op->mmap))
 		return -ENODEV;
 
-	if (!len)
+	if (len == 0)
 		return addr;
 
-	if (len > TASK_SIZE)
-		return -EINVAL;
-
 	len = PAGE_ALIGN(len);
 
+	if (len > TASK_SIZE || len == 0)
+		return -EINVAL;
+
 	/* offset overflow? */
 	if ((pgoff + (len >> PAGE_SHIFT)) < pgoff)
 		return -EINVAL;

^ permalink raw reply

* Re: Using reverse mapping in 2.5.51 for suspend-to-disk.
From: Rik van Riel @ 2002-12-11 13:22 UTC (permalink / raw)
  To: Nigel Cunningham; +Cc: Linux Memory Management List (E-mail)
In-Reply-To: <000101c2a0e0$c5743140$ac99a7cb@NigelLaptop>

On Wed, 11 Dec 2002, Nigel Cunningham wrote:

> Which brings me to my question. I want to start trying to get this going in
> a 2.5 kernel, and have seen people talking about reverse-mapping patches for
> a while now. I'm wondering if you have managed or are preparing to merge
> such patches into the 2.5 series, whether they would be helpful to me in
> identifying those pageset1 pages. If so, how I use them.

Both reverse mapping and suspend to disk seem to have been
merged into 2.5 already.

Rik
-- 
Bravely reimplemented by the knights who say "NIH".
http://www.surriel.com/		http://guru.conectiva.com/
Current spamtrap:  <a href=mailto:"october@surriel.com">october@surriel.com</a>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply

* Re: IDE module problem
From: Maciej W. Rozycki @ 2002-12-11 13:21 UTC (permalink / raw)
  To: Jun Sun; +Cc: linux-mips
In-Reply-To: <20021209115842.Q8642@mvista.com>

On Mon, 9 Dec 2002, Jun Sun wrote:

> If you configure IDE support as a module (CONFIG_IDE), you
> will soon find that ide-std.o and ide-no.o are missing.
> This is because arch/mips/lib/Makefile says:
> 
> obj-$(CONFIG_IDE)               += ide-std.o ide-no.o
[...]
> 3) use some smart trick in Makefile so that we include those
> two files only if CONFIG_IDE is 'y' or 'm'.  (How?)

 obj-$(CONFIG_IDE_MODULE)

-- 
+  Maciej W. Rozycki, Technical University of Gdansk, Poland   +
+--------------------------------------------------------------+
+        e-mail: macro@ds2.pg.gda.pl, PGP key available        +

^ permalink raw reply

* Client tuning
From: Jose Celestino @ 2002-12-11 13:11 UTC (permalink / raw)
  To: nfs

Hello,

I need some help fine tuning some NFS clients.

The server is a blackbox (an EMC Celerra which we don't administer, we
can't touch it, we can only give some hints and pray) the clients are
Linux boxes with kernel >= 2.4.18.

This system will be used, exclusivelly, as a webmail system with maildir
format "mailboxes". That means lots (ithousands to millions) of small
iles (<=30Kb) and tons of accesses to that same files. Access will be
made via an IMAP server, a POP server and a SMTP server.

I have the option of choosing between NFSv2/v3 and TCP/UDP and the
freedom to fully configure/reconfigure the client boxes. Any thoughs on
what I might tweak and look for? Any experiences on this?

TIA.

-- 
Jose Celestino | http://xpto.org/~japc/files/japc-pgpkey.asc
----------------------------------------------------------------
"Don't summarize. Don't abbreviate. Don't interpret." -- djb


-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
NFS maillist  -  NFS@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs

^ permalink raw reply

* Re: [Dri-devel] Re: 2.4.20 AGP for I845 wrong ?
From: Dave Jones @ 2002-12-11 13:05 UTC (permalink / raw)
  To: Keith Whitwell
  Cc: Nicolas ASPERT, Margit Schubert-While, linux-kernel, faith,
	dri-devel
In-Reply-To: <3DF7337D.1080706@tungstengraphics.com>

On Wed, Dec 11, 2002 at 12:45:49PM +0000, Keith Whitwell wrote:
 > In any case I don't think the string in the informational is very useful -- 
 > it's a potentially inaccurate translation of state from *another* module, so 
 > I'm just removing the lot.

Cool, that gets my vote too 8-)

        Dave

-- 
| Dave Jones.        http://www.codemonkey.org.uk
| SuSE Labs

^ permalink raw reply

* sparc64 compatibility
From: Valko Laszlo @ 2002-12-11 12:52 UTC (permalink / raw)
  To: netfilter-devel; +Cc: valko

Hi!

I have tried to migrate my firewall from x86 to sparc64. It was a
partial success: there is at least one netfilter module (ipt_limit)
which does not work correctly as it is in 2.4.20.

The basic issue is that the user-space and the kernel-space differ
in word-length. This means that sizeof(unsigned long) is 8 when
compiling the kernel module, and 4 when compiling iptables.

This makes IPT_ALIGN(sizeof(struct ipt_rateinfo)) different
in iptables than in the kernel, which results

iptables: Invalid argument

when trying to use the ipt_limit module in

iptables -A FORWARD -m limit --limit 3/sec -j LOG


The root cause is twofold:
We have a rather ugly structure definition (used BOTH for in-kernel
storage AND user-space - kernel-space communication with setsockopt):

struct ipt_rateinfo {
        u_int32_t avg;    /* Average secs between packets * scale */
        u_int32_t burst;  /* Period multiplier for upper limit. */

        /* Used internally by the kernel */
        unsigned long prev;
        u_int32_t credit;
        u_int32_t credit_cap, cost;

        /* Ugly, ugly fucker. */
        struct ipt_rateinfo *master;
};

AND we use the size of this structure to validate the request from user-space.

>From an architectural point of view, it would be nice to have a structure
used for communication between iptables and the kernel module, which does
not include any "Used internally by the kernel" comments (and variables),
and have a different structure for internal kernel use (maybe this could
include the other).
However, the main problem is that variables in the kernel-only part
are not word-length independent (prev & master) AND ipt_limit_checkentry
uses a check like this:

        if (matchsize != IPT_ALIGN(sizeof(struct ipt_rateinfo)))
                return 0;

This check makes it almost impossible to handle my situation in user-land.
So, my proposal is to change ipt_limit_checkentry. Here comes my dilemma:
how to make it correct for my case without breaking all the existing machines?


I would be interested in making this work (I could do that by myself) but I
also would like to see the result generally useful to be merged into
the mainline code. That's the reason I'm posing my questions.

Also, if someone knows right away that some other code in the netfilter
source was not architected to survive such a platform (different word
sizes between kernel and user-space), or some code does an unaligned
memory access (eg. doing 4-byte memory read with the lowest 2 bits of the
address being non-zero results in a trap on SPARC and Alpha), please, tell
me to make it easier for me to use the code.


Please, give me some ideas how I could help to make the code cleaner.

Thanks in advance,
Laszlo

^ permalink raw reply

* [LARTC] Unable to delete qdisc / class
From: Serge Maandag @ 2002-12-11 12:50 UTC (permalink / raw)
  To: lartc

Dear list, 

I have setup a qdisc that I'd like to remove, but somehow it seems
impossible.

-----------------
Output of show:

sh-2.04# tc -d qdisc show   
qdisc cbq 22: dev eth0 rate 100Mbit cell 8b mpu 64b (bounded,isolated)
prio no-transmit/8 weight 100Mbit allot 1514b 
level 0 ewma 5 avpkt 1000b maxidle 1us 

sh-2.04# tc -d class show dev eth0
class cbq 22: root rate 100Mbit cell 8b mpu 64b (bounded,isolated) prio
no-transmit/8 weight 100Mbit allot 1514b 
level 0 ewma 5 avpkt 1000b maxidle 1us 

sh-2.04# tc -d filter show dev eth0     
<nothing>
-----------------

If I do "tc qdisc del dev eth0 root" it says "RTNETLINK answers: No such
file or directory".
If I do "tc class del dev eth0 classid 22:" it says "RTNETLINK answers:
Device or resource busy".

Can anyone tell me how I can get rid of my qdisc and class?

I am running iproute-2.4.7-1 on redhat 7.1, kernel 2.4.3-12smp.

TIA,

serge.



_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

^ permalink raw reply

* Re: [Linux-fbdev-devel] Re: atyfb in 2.5.51
From: Antonino Daplas @ 2002-12-11 12:49 UTC (permalink / raw)
  To: Benjamin Herrenschmidt
  Cc: Paul Mackerras, Linux Kernel Mailing List,
	Linux Fbdev development list, James Simmons
In-Reply-To: <1039561870.538.28.camel@zion>

On Wed, 2002-12-11 at 04:11, Benjamin Herrenschmidt wrote:
> 
> I don't know if happened with earlier fbdev versions for you, but one
> possibility is that X reconfigures the display base, and possibly more
> bits of the card's internal memory map. Either fbdev should restore
> that, or adapt to what X set. On R128's and radeon's, this is things
> like DISPLAY_BASE_ADDR.
>  
Although this is in the faqs for a long time, (behavior is undefined if
fbdev is used with software that touches the video card) this is an
issue that needs to be taken into consideration.  Without the set_var()
hook, fbcon will depend on the contents of info->var if there is a need
to touch the hardware or not.  And switching from X to the console will
not change the var, but since X actually did touch the hardware, you
just messed up your screen or worse, crashed the hardware.

Before, most drivers just unconditionally refresh the hardware at every
switch  during set_var(). I've been pointing this out for a long time
now, do we unconditionally do a check_var()/set_par() after every
console switch, or do we rely on fbdev and X cooperating with each
other? Or better, maybe fbcon has a way of knowing if the switch came
from  Xfree86.

Tony

^ permalink raw reply

* [Linux-ia64] [patch] 2.4.20-ia64-021210 prevent loop on zero instruction
From: Keith Owens @ 2002-12-11 12:48 UTC (permalink / raw)
  To: linux-ia64

On Tue, 10 Dec 2002 21:44:12 -0700, 
Bjorn Helgaas <bjorn_helgaas@hp.com> wrote:
>The latest ia64 kernel patch for Linux 2.4.20 is available here:
>
>    ftp://ftp.kernel.org/pub/linux/kernel/ports/ia64/v2.4/linux-2.4.20-ia64-021210.diff.gz

Trivial backport of a fix from 2.5 ia64.  Prevents the kernel looping
on a zero instruction.

--- arch/ia64/kernel/traps.c.orig	Wed Dec 11 23:44:14 2002
+++ arch/ia64/kernel/traps.c	Wed Dec 11 23:45:47 2002
@@ -143,6 +143,7 @@
 
 	switch (break_num) {
 	      case 0: /* unknown error */
+		die_if_kernel("bad break", regs, break_num);
 		sig = SIGILL; code = ILL_ILLOPC;
 		break;
 



^ permalink raw reply

* [Bluez-users] Bluetooth Init Script with automatic Handy detection.
From: nospam02 @ 2002-12-11 12:44 UTC (permalink / raw)
  To: BlueZ Users

Hello together.

Maybe someone of you are interested in my solution about how to make
a gprs connection over a bluetooth connection to a mobile phone.
Round about 10000 Users in our company are working with it and
allthough they are using bluez so Thanx to all developers for their
well done work.

If any suggestions or questions, you can sent me a mail.

-------------------------------------------------------------
#!/bin/bash
#/etc/init.d/connectBT
#set -x
#####################################################################
###########
# Script : connectBT
# Purpose: makes a Bluetooth connection between Laptop and Handy for
use of GPRS
# Autor  : Hans-Gerd van Schelve
# Date	 : 2002-11-13
# Version: 2.0
#####################################################################
###########
#Globale Section						    =20
	 #
#--------------------------------------------------------------------
----------#
RFCOMMSTATUS=3D0
PAIRING=3D0
SYSLOG=3D/var/log/sys.log
CONFOK=3D1
EINGABEOK=3D1
CONFFILE=3D"/etc/bluetooth/handy.conf"
LINKKEY=3D"/etc/bluetooth/link_key"
INQTEMPFILE=3D"/tmp/handyinquiery.tmp"
source /etc/LVM.conf		# Globale config File
source /etc/init.d/functions	# Neccessary functions like echol a.
s. o.
timestamp $BOOTLOG
#--------------------------------------------------------------------
----------#
# Only start if it is an T30 and we are mobile....
#--------------------------------------------------------------------
----------#
if [ "$BLUETOOTH_START" !=3D "yes" ]; then
  echol -n "No need to use bluetooth"
  true ; evaluate_retval
  exit 0
else
   if $(tpblth status | grep "Bluetooth daugher card not found" >&
/dev/null); then
      echol -n "Can not start bluetooth because this is not a
bluetooth system"
      true ; evaluate_retval
      exit 0
   fi
fi

#--------------------------------------------------------------------
----------#
# used functions						    =20
	 #
#--------------------------------------------------------------------
----------#
function func_bluetooth_init() {
   if (tpblth status | grep "Power status =3D Off" >& /dev/null ) ;
then
      tpblth power-on >& /dev/null
      sleep 5
      insmod ussp >& /dev/null
      hcid >& /dev/null
      sleep 2
   fi
}

function func_stop() {
   for i in pppd rfcomm hcid; do
      while (ps aux | grep $i | grep -v grep | grep -v killall) >&
/dev/null; do
	 killall $i >& /dev/null
	 sleep 1
      done
   done
   rmmod ussp >& /dev/null
   tpblth power-off >& /dev/null
   sleep 5
   for i in ppp_async ppp_generic slhc l2cap hci_usb bluez; do
      while (lsmod | grep $i) >& /dev/null; do
	  rmmod $i
      done
   done
   sleep 2
   echol -n "Disconnected from LVM" $BOOTLOG
}

function func_rfcomm_connect() {
   rfcomm 0 $CONFHANDYID >& /dev/null &
   sleep 3
   if ! [ $PAIRING =3D 0 ]; then
      PID=3D""
      PID=3D`/bin/pidof -s hcid`
      echo ""
      echo "Sie haben eine neue Handykonfiguration erzeugt. Dies
setzt"
      echo "vorraus, dass Sie am Mobiltelefon die Pairing Pin
eingeben."
      while [ ! "$SAVING_OK" -a ! "REPLACING_OK" ]; do
	 SAVING_OK=3D`grep $PID $SYSLOG | grep "Saving link key"`
	 REPLACING_OK=3D`grep $PID $SYSLOG | grep "Replacing link key"`
	 sleep 1
      done
      if [ "$CONFHANDYTYPE" =3D "Nokia" ]; then
	 echo ""
	 echo
"--------------------------------------------------------------------
"
	 echo "Stellen Sie nun sicher, dass Sie diesen Laptop in die
Liste der "
	 echo "bekannten Ger=E4te an Ihrem Handy aufgenommen haben.
Dr=FCcken Sie  "
	 echo "Return, sobald dies der Fall ist...		    =20
	 "
	 echo
"--------------------------------------------------------------------
"
	 read FILLER
      fi
      echo ""
      echo
"--------------------------------------------------------------------
"
      echo " Die Bluetooth Verbindung wird nun neu aufgebaut. Bitte
haben Sie"
      echo " noch einen Moment Geduld."
      echo
"--------------------------------------------------------------------
"
      echo ""
      func_stop
      func_bluetooth_init
      rfcomm 0 $CONFHANDYID >& /dev/null &
      sleep 10
   fi
   echo ATZ 2>/dev/null >/dev/ttu/0
   RFCOMMSTATUS=3D$?
   if [ $RFCOMMSTATUS !=3D 0 ]; then
      killall rfcomm >& /dev/null
      echo -n "."
   fi
}

function func_write_conffile() {
   if (printf
"CONFHANDYID=3D$CONFHANDYID\nCONFHANDYTYPE=3D$CONFHANDYTYPE\n" \
      > $CONFFILE 2>/dev/null); then
      echol "Die Konfigurationsdatei wurde erfolgreich aktualisiert."
      chmod 600 $CONFFILE
   else
      echol "Probleme bei der Erzeugung der Konfigurationsdatei: [ $?
]"
      exit 1
   fi
}

function func_update_conffile() {
   if [ "$CONFHANDYTYPE" =3D "" ]; then
      CONFHANDYID=3D$(cat $CONFFILE)
      CONFHANDYTYPE=3D"Nokia"
      func_write_conffile
   fi
}

function func_search_handies() {
   ### User cannot change the class ID but Phone name so use
   ### Class ID to identify Phone Vendor......=20
   CONFHANDYID=3D""
   while [ "$CONFHANDYID" =3D "" ]; do
      sleep 2
      hcitool inq 10 | grep -v Inq | \
	  egrep '0x500204|0x520204|0x502204|0x522204|0x720204' | \
	  sed -e 's/0x500204/Nokia/' \
	  -e 's/0x520204/Nokia/' \
	  -e 's/0x502204/Nokia/' \
	  -e 's/0x522204/Sony-Ericsson/' \
	  -e 's/0x720204/Siemens-S55/' | \
	  awk '{print $1 " " $6}' \
	  > $INQTEMPFILE
     =20
      BTMACARRAY=3D($(cat $INQTEMPFILE | awk '{print $1}'))
      BTCLASSARRAY=3D($(cat $INQTEMPFILE | awk '{print $2}'))
      RECORDS=3D$(wc -l $INQTEMPFILE | awk {'print $1'})
     =20
      if [ $RECORDS -eq 0 ]; then
	 echo ""
	 echo
"--------------------------------------------------------------------
"
	 echo "Es konnte kein bluetoothf=E4higes Mobiltelefon gefunden
werden."
	 echo "Bitte vergewissern Sie Sich, dass Ihr Mobiltelefon
aktiv ist,"
	 echo "Bluetooth eingeschaltet ist und sich das Telefon in
Reichweite"
	 read -p "befindet. Bitte dr=FCcken Sie zur Best=E4tigung
Return." EINGABE
	 echo
"--------------------------------------------------------------------
"
	 case $EINGABE in
	    "backdoor")
		 exit 0
	    ;;
	     =20
	    "*")
		 echol "Erneute Suche nach Ger=E4ten wird durchgef=FChrt"
	    ;;
	     =20
	 esac
	=20
      elif [ $RECORDS -eq 1 ]; then
	 CONFHANDYID=3D${BTMACARRAY[0]}
	 CONFHANDYTYPE=3D${BTCLASSARRAY[0]}
	 echo "Das folgende Ger=E4t wurde erkannt und wird verwendet:"
	 echo " ---->	$CONFHANDYID --- $CONFHANDYTYPE   <----"
	 func_write_conffile
	=20
      elif [ $RECORDS -gt 1 ]; then
	 PS3=3D"Bitte w=E4hlen Sie Ihr Handy aus der Liste aus: "
	 declare -i REPLY     =20
	 echo
"--------------------------------------------------------------------
"
	 echo "Liste der erkannten Mobiltelefone...		    =20
	 "
	 echo
"--------------------------------------------------------------------
"
	 select HANDY in `sed $INQTEMPFILE -e 's/ /@/'`; do
	    if [ $REPLY -gt $RECORDS -o $REPLY =3D 0 ]; then
	       clear
	    else
	       INDEX=3D$(($REPLY - 1))
	       CONFHANDYID=3D${BTMACARRAY[$INDEX]}
	       CONFHANDYTYPE=3D${BTCLASSARRAY[$INDEX]}
	       func_write_conffile
	       break
	    fi
	 done
      fi
   done
   PAIRING=3D1  =20
}

function func_gprs_connect() {

### Create the secrete files under /etc/ppp/

   if test -e /etc/ppp/chap-secrets; then
      rm /etc/ppp/chap-secrets
   fi
   echo "$USER	    *	    $PASS" > /etc/ppp/chap-secrets
   chmod 600 /etc/ppp/chap-secrets

   if test -e /etc/ppp/pap-secrets; then
      rm /etc/ppp/pap-secrets
   fi
   echo "$USER	    *	    $PASS" > /etc/ppp/pap-secrets
   chmod 600 /etc/ppp/pap-secrets

### These are the possible Dial Strings...

   case "$CONFHANDYTYPE" in
      "Nokia")
	 /usr/sbin/pppd /dev/ttu/0 57600 mru 2000 connect 'chat -v ""
ATZ OK AT+CGDCONT=3D1,\"IP\",\"$APN\" OK "ATD *99#" CONNECT'\
	 noauth -chap defaultroute noipdefault persist
ipcp-accept-local noccp novj nobsdcomp nodeflate name $USER debug
      ;;
	=09
      "Siemens-S55")
	 /usr/sbin/pppd /dev/ttu/0 57600 mru 2000 connect 'chat -v ""
ATZ OK AT+CGDCONT=3D1,\"IP\",\"$APN\" OK "ATD *98*1#" CONNECT'\
	 noauth -pap defaultroute noipdefault persist
ipcp-accept-local noccp novj nobsdcomp nodeflate name $USER debug
      ;;
	=09
      "Sony-Ericsson")
	 /usr/sbin/pppd /dev/ttu/0 57600 mru 2000 connect 'chat -v ""
ATZ OK AT+CGDCONT=3D1,\"IP\",\"$APN\" OK "ATD *99#" CONNECT'\
	 noauth -chap defaultroute noipdefault persist
ipcp-accept-local noccp novj nobsdcomp nodeflate name $USER debug
      ;;

   esac

   CONN_ON=3D""
   PID=3D
   PID=3D`/bin/pidof -s pppd`
   sleep 3
   while [ ! "$CONN_OK" ]; do
      sleep 1
      CONN_FAILED=3D`grep $PID $SYSLOG | grep "Connection terminated"`
      CONN_OK=3D`grep $PID $SYSLOG | grep "local	IP"`
      if [ "$CONN_OK" ]; then
	 IP_ADDR=3D`echo $CONN_OK | awk -F"address " '{print $2}'`
	 echol $IP_ADDR
	 echol "" $BOOTLOG
	 echol -n "Connection established (local IP: '$IP_ADDR') "
$BOOTLOG
	 true; evaluate_retval $BOOTLOG
	 echol -n "Setting new hostname" $BOOTLOG
	 HOSTNAME=3D$(host $IP_ADDR | awk '{ print $5 }'|cut -d"." -f1)
	 ### If there is no valid dns-record for recived IP Address
in DNS set HOSTNAME to current IP Address ###
	 if [ "$HOSTNAME" =3D "3(NXDOMAIN)" ]; then
	    /bin/hostname $IP_ADDR
	 else
	    /bin/hostname $HOSTNAME
	 fi
      fi
   done
}

#####################################################################
#########
#  Here we go.....						    =20
       #
#####################################################################
#########

case $1 in
   "start")
      func_bluetooth_init
      if [ -e $CONFFILE -a -r $CONFFILE ]; then
	 if $(grep CONFHANDYTYPE $CONFFILE >& /dev/null); then
	    source $CONFFILE
	 else
	    func_update_conffile
	 fi
      else
	 sleep 2
	 func_search_handies
      fi=20
      func_rfcomm_connect
      while [ $RFCOMMSTATUS !=3D 0 ]; do
	 func_rfcomm_connect
	 if ! [ $RFCOMMSTATUS =3D 0 ]; then
	    echo " "
	    echo
"--------------------------------------------------------------------
"
	    echo "Eine Verbindung zu Ihrem $CONFHANDYTYPE Handy (
$CONFHANDYID )"
	    echo "konnte nicht hergestellt werden. =DCberpr=FCfen Sie
bitte, ob das Ger=E4t"
	    echo "eingeschaltet ist und sich in Reichweite befindet."

	    echo "Dr=FCcken Sie zur Best=E4tigung bitte Return!"
	    echo
"--------------------------------------------------------------------
"
	    trap "" 1 2 3 5 6 7 15
	       EINGABE=3D0
	       read EINGABE
	    trap - 1 2 3 5 6 7 15
	    case $EINGABE in
	       "pairing")
		  func_search_handies
	       ;;
	       "backdoor")=20
		  exit 0
	       ;;
	    esac
	 fi
	 done
	 func_gprs_connect
   ;;
  =20
   "stop")
      func_stop
      evaluate_retval
   ;;

   *)
      echo "Usage: $0 {start|stop}"
   ;;
  =20
esac


-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility=20
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/
_______________________________________________
Bluez-users mailing list
Bluez-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bluez-users

^ permalink raw reply

* Re: Linux 2.4.21-pre1 compile failure: drivers/net/pcmcia/fmvj18x_cs.c
From: Adrian Bunk @ 2002-12-11 12:51 UTC (permalink / raw)
  To: Eyal Lebedinsky; +Cc: Marcelo Tosatti, lkml, Alan Cox
In-Reply-To: <3DF7075E.CB1C7201@eyal.emu.id.au>

On Wed, Dec 11, 2002 at 08:37:34PM +1100, Eyal Lebedinsky wrote:
> gcc -D__KERNEL__ -I/data2/usr/local/src/linux-2.4-pre/include -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common
> -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i686
> -malign-functions=4  -DMODULE -DMODVERSIONS -include
> /data2/usr/local/src/linux-2.4-pre/include/linux/modversions.h 
> -nostdinc -iwithprefix include -DKBUILD_BASENAME=fmvj18x_cs  -c -o
> fmvj18x_cs.o fmvj18x_cs.c
> fmvj18x_cs.c: In function `fmvj18x_config':
> fmvj18x_cs.c:489: `PRODID_TDK_GN3410' undeclared (first use in this
> function)
> fmvj18x_cs.c:489: (Each undeclared identifier is reported only once
> fmvj18x_cs.c:489: for each function it appears in.)
> fmvj18x_cs.c:529: `MANFID_UNGERMANN' undeclared (first use in this
> function)
> make[3]: *** [fmvj18x_cs.o] Error 1
> make[3]: Leaving directory
> `/data2/usr/local/src/linux-2.4-pre/drivers/net/pcmcia'
>...

The pcmcia networking updates that came from -ac didn't include the 
changes to ciscode.h. The patch below (stolen from -ac) fixes this 
problem.

cu
Adrian

--- linux.vanilla/include/pcmcia/ciscode.h	2001-12-21 17:42:04.000000000 +0000
+++ linux.20-ac1/include/pcmcia/ciscode.h	2002-11-15 16:42:06.000000000 +0000
@@ -1,5 +1,5 @@
 /*
- * ciscode.h 1.48 2001/08/24 12:16:12
+ * ciscode.h 1.57 2002/11/03 20:38:14
  *
  * The contents of this file are subject to the Mozilla Public License
  * Version 1.1 (the "License"); you may not use this file except in
@@ -60,6 +60,10 @@
 #define PRODID_INTEL_DUAL_RS232		0x0301
 #define PRODID_INTEL_2PLUS		0x8422
 
+#define MANFID_KME			0x0032
+#define PRODID_KME_KXLC005_A		0x0704
+#define PRODID_KME_KXLC005_B		0x2904
+
 #define MANFID_LINKSYS			0x0143
 #define PRODID_LINKSYS_PCMLM28		0xc0ab
 #define PRODID_LINKSYS_3400		0x3341
@@ -94,6 +98,8 @@
 #define PRODID_OSITECH_JACK_336		0x0007
 #define PRODID_OSITECH_SEVEN		0x0008
 
+#define MANFID_OXSEMI			0x0279
+
 #define MANFID_PIONEER			0x000b
 
 #define MANFID_PSION			0x016c
@@ -103,6 +109,7 @@
 #define PRODID_QUATECH_SPP100		0x0003
 #define PRODID_QUATECH_DUAL_RS232	0x0012
 #define PRODID_QUATECH_DUAL_RS232_D1	0x0007
+#define PRODID_QUATECH_DUAL_RS232_D2	0x0052
 #define PRODID_QUATECH_QUAD_RS232	0x001b
 #define PRODID_QUATECH_DUAL_RS422	0x000e
 #define PRODID_QUATECH_QUAD_RS422	0x0045
@@ -120,9 +127,12 @@
 
 #define MANFID_TDK			0x0105
 #define PRODID_TDK_CF010		0x0900
+#define PRODID_TDK_GN3410		0x4815
 
 #define MANFID_TOSHIBA			0x0098
 
+#define MANFID_UNGERMANN		0x02c0
+
 #define MANFID_XIRCOM			0x0105
 
 #endif /* _LINUX_CISCODE_H */



^ permalink raw reply

* RE: Translating Ziegler Book ipchains Rules
From: Reckhard, Tobias @ 2002-12-11 12:43 UTC (permalink / raw)
  To: netfilter

> That script has nice, symmetrical pairs of rules like this:
> 
> # HTTP (80) - accessing remote web sites as a client
> ipchains -A output -i eth1 -s $IPADDR $UNPRIV -d 0/0 80 -p 
> tcp -j ACCEPT
> ipchains -A input -i eth1 -s 0/0 80 -d $IPADDR $UNPRIV -p tcp 
> ! -y -j ACCEPT
> 
> With connection tracking in iptables, can all these pairs be 
> cut to just
> one rule, like this:
> 
> $IPTABLES -A FORWARD -o eth1 -s $IPADDR -p tcp --sport $UNPRIV  \
> --dport 80 -j ACCEPT
> 
> Or do I still need this, too?
> 
> $IPTABLES -A FORWARD -i eth1  -p tcp --sport 80 -d $IPADDR \
> --dport $UNPRIV ! --syn -j ACCEPT

You can, if you wish, make do with the following:

# Allow all established and related traffic to pass the FORWARD chain
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Allow HTTP session initiation
$IPTABLES -A FORWARD -p tcp -s $IPADDR -i $INIF --dport 80 -o eth1 \
  -m state --state NEW -j ACCEPT

> Similarly, is it necessary to have multiple rules for ftp control
> and data ports, or does ip_conntrack_ftp handle everything with just
> one rule, like this:
> 
> $IPTABLES -A FORWARD -o eth1 -s $IPADDR -p tcp --sport $UNPRIV  \
> --dport 21 -j ACCEPT
> 
> Or do I need these in pairs also, with parallel ones for port 21?

Well, the first rule above takes care of ESTABLISHED and RELATED traffic, so
you should only need the above rule. You should use "-m state --state NEW"
in it, though.

If you don't want to trust netfilter's state that much, you can still use
ipchains style rules and state, if you want.

Tobias


^ permalink raw reply

* matroxfb broken in 2.5.51 ?
From: Sven Luther @ 2002-12-11 12:42 UTC (permalink / raw)
  To: linux-fbdev-devel

Hello, ...

matroxfb seems broken in 2.5.51 :

  gcc -Wp,-MD,drivers/video/matrox/.matroxfb_base.o.d -D__KERNEL__ -Iinclude -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -malign-functions=4 -Iarch/i386/mach-generic -fomit-frame-pointer -nostdinc -iwithprefix include -DKBUILD_BASENAME=matroxfb_base -DKBUILD_MODNAME=matroxfb_base -DEXPORT_SYMTAB  -c -o drivers/video/matrox/matroxfb_base.o
  drivers/video/matrox/matroxfb_base.c
  In file included from drivers/video/matrox/matroxfb_base.c:105:
  drivers/video/matrox/matroxfb_base.h:52: video/fbcon.h: No such file or directory
  drivers/video/matrox/matroxfb_base.h:53: video/fbcon-cfb4.h: No such file or directory
  drivers/video/matrox/matroxfb_base.h:54: video/fbcon-cfb8.h: No such file or directory
  drivers/video/matrox/matroxfb_base.h:55: video/fbcon-cfb16.h: No such file or directory
  drivers/video/matrox/matroxfb_base.h:56: video/fbcon-cfb24.h: No such file or directory
  drivers/video/matrox/matroxfb_base.h:57: video/fbcon-cfb32.h: No such file or directory
  In file included from drivers/video/matrox/matroxfb_base.c:105:
  drivers/video/matrox/matroxfb_base.h:341: warning: `struct display' declared inside parameter list
  drivers/video/matrox/matroxfb_base.h:341: warning: its scope is only this definition or declaration, which is probably not what you want.

Mmm, maybe it is only because the fbcon.h and co did not get moved to
the right place or something such, will check.

Friendly,

Sven Luther


-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/

^ permalink raw reply

* Re: ACPI trouble (AC module, etc.) with Toshiba 1115-S103
From: Derek Broughton @ 2002-12-11 12:41 UTC (permalink / raw)
  To: ACPI Development - Sourceforge
In-Reply-To: <20021211065826.5869.qmail@web14503.mail.yahoo.com>

From: "NoZizzing OrDripping" <nozizzingordripping-/E1597aS9LQAvxtiuMwx3w@public.gmane.org>
>
> OK, I went thru the process of creating a modified
> ASL (diffs from the original attached) for this
> laptop.
> Basically, I cleaned up the original so that the
> errors
> from "iasl" went away.
>
> I now have a working AC module.
>
> This is a stopgap measure though, correct?  The goal
> should be for the Linux kernel to support the existing
> AML in flash (the AML apparently comes from Microsoft)

Not if it doesn't conform to the ACPI spec. I wouldn't have a clue if this
does - but MS is well known for going their own way.  If that was the case, then
the goal would be to get your PC vendor to get a correct DSDT - we shouldn't be
trying to make ACPI work with every possible broken BIOS.



-------------------------------------------------------
This sf.net email is sponsored by:
With Great Power, Comes Great Responsibility 
Learn to use your power at OSDN's High Performance Computing Channel
http://hpc.devchannel.org/

^ permalink raw reply

* Re: Intel P6 vs P7 system call performance
From: Terje Eggestad @ 2002-12-11 12:48 UTC (permalink / raw)
  To: H. Peter Anvin; +Cc: linux-kernel, Dave Jones

It get even worse with Hammer. When you run hammer in compatibility mode
(32 bit app on a 64 bit OS) the sysenter is an illegal instruction.
Since Intel don't implement syscall, there is no portable sys*
instruction for 32 bit apps. You could argue that libc hides it for you
and you just need libc to test the host at startup (do I get a sigill if
I try to do getpid() with sysenter? syscall? if so we uses int80 for
syscalls).  But not all programs are linked dyn.

Too bad really, I tried the sysenter patch once, and the gain (on PIII
and athlon) was significant.

Fortunately the 64bit libc for hammer uses syscall. 


PS:  rdtsc on P4 is also painfully slow!!!

TJ

On man, 2002-12-09 at 20:46, H. Peter Anvin wrote: 
> Followup to:  <20021209193649.GC10316@suse.de>
> By author:    Dave Jones <davej@codemonkey.org.uk>
> In newsgroup: linux.dev.kernel
> >
> > On Mon, Dec 09, 2002 at 05:48:45PM +0000, Linus Torvalds wrote:
> > 
> >  > P4's really suck at system calls.  A 2.8GHz P4 does a simple system call
> >  > a lot _slower_ than a 500MHz PIII. 
> >  > 
> >  > The P4 has problems with some other things too, but the "int + iret"
> >  > instruction combination is absolutely the worst I've seen.  A 1.2GHz
> >  > Athlon will be 5-10 times faster than the fastest P4 on system call
> >  > overhead. 
> > 
> > Time to look into an alternative like SYSCALL perhaps ?
> > 
> 
> SYSCALL is AMD.  SYSENTER is Intel, and is likely to be significantly
> faster.  Unfortunately SYSENTER is also extremely braindamaged, in
> that it destroys *both* the EIP and the ESP beyond recovery, and
> because it's allowed in V86 and 16-bit modes (where it will cause
> permanent data loss) which means that it needs to be able to be turned
> off for things like DOSEMU and WINE to work correctly.
> 
> 	-hpa



-- 
_________________________________________________________________________

Terje Eggestad                  mailto:terje.eggestad@scali.no
Scali Scalable Linux Systems    http://www.scali.com

Olaf Helsets Vei 6              tel:    +47 22 62 89 61 (OFFICE)
P.O.Box 150, Oppsal                     +47 975 31 574  (MOBILE)
N-0619 Oslo                     fax:    +47 22 62 89 51
NORWAY            
_________________________________________________________________________


^ permalink raw reply


This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.