insmod error: Invalid module format.

2005-08-16 Thread Nikhil Dharashivkar
Hi all,
 I have RH9 installed with  2.6.7-1 kernel. I am able to compile
the module but , when i load this module using insmod i get an error
"insmod: error inserting './simple.o': -1 Invalid module format"

Please, any one tell me what is this meant ?

-- 
Thanks and Regards,
 Nikhil.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] KGDB for Real-Time Preemption systems

2005-08-16 Thread Ingo Molnar

* George Anzinger  wrote:

> I have put a version of KGDB for x86 RT kernels here:
> http://source.mvista.com/~ganzinger/
> 
> The common_kgdb_cfi_ stuff creates debug records for entry.S and 
> friends so that you can "bt" through them.  Apply in this order: 
> Ingo's patch kgdb-ga-rt.patch common_kgdb_cfi_annotations.patch
> 
> This is, more or less, the same kgdb that is in Andrew's mm tree 
> changed to fix the RT issues.

great. For the time being i wont add it to the -RT tree (because KGDB is 
not destined for upstream merging it seems), but it sure is a useful 
development/debugging add-on.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.12.3 clock drifting twice too fast (amd64)

2005-08-16 Thread yhlu
Me too. If use latest kernel mouse is dead.

By the way, did you solve the battery problem in Linux. "Can not read
battery status"

YH

On 8/16/05, Jeff Mahoney <[EMAIL PROTECTED]> wrote:
> -BEGIN PGP SIGNED MESSAGE-
> Hash: SHA1
> 
> Christoph Lameter wrote:
> > On Tue, 16 Aug 2005, jerome lacoste wrote:
> >
> >>Installed stock 2.6.12.3 on a brand new amd64 box with an Asus extreme
> >>AX 300 SE/t mainboard.
> >>
> >>I remember seeing a message in the boot saying something along:
> >>
> >>  "cannot connect to hardware clock."
> >>
> >>And now I see that the time is changing too fast (about 2 seconds each 
> >>second).
> >
> > The timer interrupt is probably called twice for some reason and therefore
> > time runs twice as fast. Try using HPET for interrupt timing.
> >
> >>I don't have visual on the boot sequence anymore (only remote access).
> >
> > Use serial console or netconsole. The boot information is logged. Try
> > dmesg.
> 
> I am seeing similar results on my Acer Ferrari 4000 (Turion64 ML-37). It
> does appear that time is running 2x normal time.
> 
> Booting with noapictimer cleared up the timing issues, though it did
> introduce some IRQ badness.
> 
> - -Jeff
> 
> - --
> Jeff Mahoney
> SuSE Labs
> -BEGIN PGP SIGNATURE-
> Version: GnuPG v1.4.0 (GNU/Linux)
> 
> iD8DBQFDAnPzLPWxlyuTD7IRAuQ+AKCoK4Bvj9YaSxK1cYzK/LQUGcj2pQCgmBKK
> hGeSfGE+CvdNzqW3pN5LQq8=
> =wtra
> -END PGP SIGNATURE-
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.13-rc6-rt6

2005-08-16 Thread Ingo Molnar

* Steven Rostedt <[EMAIL PROTECTED]> wrote:

> On Wed, 2005-08-17 at 00:20 -0400, Steven Rostedt wrote:
> > Ingo,
> > 
> > FYI, I ran this on my laptop (Pentium4 HT) and it locked up shortly
> > after it started INIT.  I rebooted, and now it's up and running 
> > with no problems!?!  I'll reboot it a few more times to see if it will
> > lock up again.
> 
> With a small change it locks up all the time :-)

unfortunately the space of "patches that break the kernel" is infinitely 
larger (and infinitely easier to generate) than the space of "patches 
that improve the kernel" - so i'll skip your patch for now ;-)

> > Oh, I also did get the message when it started:
> > 
> > WARNING: kstopmachine/859 changed soft IRQ-flags.
> >  [] stop_machine+0x11b/0x160 (8)
> >  [] do_stop+0xe/0x70 (32)
> >  [] kthread+0xba/0xc0 (16)
> >  [] kthread+0x0/0xc0 (28)
> >  [] kernel_thread_helper+0x5/0x10 (16)
> 
> I replaced this with raw_local_irq_disable and it really locks up 
> everytime now.  I need to look into how this is best done.

how come it is stopping the machine during bootup? Or does the lockup 
occur during shutdown? changing the local_irq_disable() to 
raw_local_irq_disable() looks wrong because sooner or later we hit 
complete(). You are probably locking up earlier than that though, 
perhaps in stopmachine_set_state()?

but stop_machine() looks quite preempt-unsafe to begin with. The 
local_irq_disable() would not be needed at all if prior the 
for_each_online_cpu() loop we'd use set_cpus_allowed. The current method 
of achieving 'no preemption' is simply racy even during normal 
CONFIG_PREEMPT.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC,PATCH] Use RCU to protect tasklist for unicast signals

2005-08-16 Thread Ingo Molnar

* Paul E. McKenney <[EMAIL PROTECTED]> wrote:

> My tests are not finding even glaring races, so time to go and create 
> some torture tests before getting too much more elaborate.  10,000 
> eyes are nice (and Oleg's eyes do seem to be working especially well), 
> but a good software-test sledgehammer has its uses as well.

i've merged this to the -rt tree, and find below a delta patch relative 
to the previous patch.

Ingo

Index: linux/kernel/exit.c
===
--- linux.orig/kernel/exit.c
+++ linux/kernel/exit.c
@@ -74,7 +74,6 @@ repeat: 
__ptrace_unlink(p);
BUG_ON(!list_empty(&p->ptrace_list) || 
!list_empty(&p->ptrace_children));
__exit_signal(p);
-   __exit_sighand(p);
/*
 * Note that the fastpath in sys_times depends on __exit_signal having
 * updated the counters before a task is removed from the tasklist of
Index: linux/kernel/signal.c
===
--- linux.orig/kernel/signal.c
+++ linux/kernel/signal.c
@@ -328,17 +328,19 @@ void __exit_sighand(struct task_struct *
struct sighand_struct * sighand = tsk->sighand;
 
/* Ok, we're done with the signal handlers */
-   spin_lock(&sighand->siglock);
tsk->sighand = NULL;
if (atomic_dec_and_test(&sighand->count))
sighand_free(sighand);
-   spin_unlock(&sighand->siglock);
 }
 
 void exit_sighand(struct task_struct *tsk)
 {
write_lock_irq(&tasklist_lock);
-   __exit_sighand(tsk);
+   spin_lock(&tsk->sighand->siglock);
+   if (tsk->sighand != NULL) {
+   __exit_sighand(tsk);
+   }
+   spin_unlock(&tsk->sighand->siglock);
write_unlock_irq(&tasklist_lock);
 }
 
@@ -361,6 +363,7 @@ void __exit_signal(struct task_struct *t
if (tsk == sig->curr_target)
sig->curr_target = next_thread(tsk);
tsk->signal = NULL;
+   __exit_sighand(tsk);
spin_unlock(&sighand->siglock);
flush_sigqueue(&sig->shared_pending);
} else {
@@ -392,6 +395,7 @@ void __exit_signal(struct task_struct *t
sig->nvcsw += tsk->nvcsw;
sig->nivcsw += tsk->nivcsw;
sig->sched_time += tsk->sched_time;
+   __exit_sighand(tsk);
spin_unlock(&sighand->siglock);
sig = NULL; /* Marker for below.  */
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patch] Real-Time Preemption, -RT-2.6.13-rc6-V0.7.53-11

2005-08-16 Thread Ingo Molnar

* Alan Stern <[EMAIL PROTECTED]> wrote:

> P.S.: Another routine worth examining is async_completed() in 
> drivers/usb/core/devio.c.

i've added the patch below to be on the safe side.

Ingo

Index: linux/drivers/usb/core/devio.c
===
--- linux.orig/drivers/usb/core/devio.c
+++ linux/drivers/usb/core/devio.c
@@ -274,10 +274,11 @@ static void async_completed(struct urb *
 struct async *as = (struct async *)urb->context;
 struct dev_state *ps = as->ps;
struct siginfo sinfo;
+   unsigned long flags;
 
-spin_lock(&ps->lock);
-list_move_tail(&as->asynclist, &ps->async_completed);
-spin_unlock(&ps->lock);
+   spin_lock_irqsave(&ps->lock, flags);
+   list_move_tail(&as->asynclist, &ps->async_completed);
+   spin_unlock_irqrestore(&ps->lock, flags);
if (as->signr) {
sinfo.si_signo = as->signr;
sinfo.si_errno = as->urb->status;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [Hdaps-devel] Re: HDAPS, Need to park the head for real

2005-08-16 Thread Jon Escombe



On Tue, Aug 16 2005, Alejandro Bonilla Beeche wrote:
If I were in your position, I would just implement this for ide (pata,
not sata) right now, since that is what you need to support (or do some
of these notebooks come with sata?). So it follows that you add an ide
 


Some notebooks are coming up with a Sata controller I think, but is
still and IDE drive. I think some T43's come with that.

But, I will ask or check again later if we ever need this feature for
SATA.
   


I can confirm that T43's are using libata.
I've tweaked the passthrough code to return the status registers (so we 
can tell whether the disk is parking sucessfully) 
http://groups.google.co.uk/group/fa.linux.kernel/browse_frm/thread/bd6b65dfcd1a3227


Regards,
Jon.



__
Email via Mailtraq4Free from Enstar (www.mailtraqdirect.co.uk)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC - 0/9] Generic timekeeping subsystem (v. B5)

2005-08-16 Thread Ulrich Windl
On 16 Aug 2005 at 11:25, Christoph Lameter wrote:

> You mentioned that the NTP code has some issues with time interpolation 
> at the KS. This is due to the NTP layer not being aware of actual time 
> differences between timer interrupts that the interpolator knows about. If 
> the NTP layer would be aware of the actual intervals measured by the 
> timesource (or interpolator) then presumably time could be adjusted in a 
> more accurate way.

Hi,

whatever the implementation is, at some point there must exist an interface go 
get 
and set "normal time", free of any jumps and jitter. That "frontend time" will 
be 
used a a base of correction. Basically that means time should be as monotonic 
and 
jitter free as possible for any measurement interval you like.

Otherwise when extrapolating the time-error, it (NTP) will try to 
overcompensate 
(or undercompensate), making the whole thing instable.

Here's a sample from some ancient NTP distribution (pre-nanosecond), but you'll 
get the idea what to check:

more util/jitter.c
/*
 * This program can be used to calibrate the clock reading jitter of a
 * particular CPU and operating system. It first tickles every element
 * of an array, in order to force pages into memory, then repeatedly calls
 * gettimeofday() and, finally, writes out the time values for later
 * analysis. From this you can determine the jitter and if the clock ever
 * runs backwards.
 */
#include 
#include 

#define NBUF 20002

void
main()
{
struct timeval ts, tr;
struct timezone tzp;
long temp, j, i, gtod[NBUF];

gettimeofday(&ts, &tzp);

/*
 * Force pages into memory
 */
for (i = 0; i < NBUF; i ++)
gtod[i] = 0;

/*
 * Construct gtod array
 */
for (i = 0; i < NBUF; i ++) {
gettimeofday(&tr, &tzp);
gtod[i] = (tr.tv_sec - ts.tv_sec) * 100 + tr.tv_usec;
}

/*
 * Write out gtod array for later processing with S
 */
for (i = 0; i < NBUF - 2; i++) {
/*
printf("%lu\n", gtod[i]);
*/
gtod[i] = gtod[i + 1] - gtod[i];
printf("%lu\n", gtod[i]);
}

/*
 * Sort the gtod array and display deciles
 */
for (i = 0; i < NBUF - 2; i++) {
for (j = 0; j <= i; j++) {
if (gtod[j] > gtod[i]) {
temp = gtod[j];
gtod[j] = gtod[i];
gtod[i] = temp;
}
}
}
fprintf(stderr, "First rank\n");
for (i = 0; i < 10; i++)
fprintf(stderr, "%10ld%10ld\n", i, gtod[i]);
fprintf(stderr, "Last rank\n");
for (i = NBUF - 12; i < NBUF - 2; i++)
fprintf(stderr, "%10ld%10ld\n", i, gtod[i]);
}

Regards,
Ulrich

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: compiling only one module in kernel version 2.6?

2005-08-16 Thread Randy.Dunlap
On Wed, 17 Aug 2005 01:54:50 -0400 Steven Rostedt wrote:

> On Wed, 2005-08-17 at 01:48 -0400, Steven Rostedt wrote:
> > On Tue, 2005-08-16 at 22:41 -0700, Randy.Dunlap wrote:
> > > 
> > > Sam only added make .ko build support very recently,
> > > so it could easily depend on what kernel verison Fong is using.
> > 
> > That could very well explain it. I'm doing this on 2.6.13-rc6-rt6
> > (2.6.13-rc6 with Ingo's rt6 patch applied).  So I really do have a
> > recent kernel.
> > 
> 
> I just did this on a 2.6.9 vanilla kernel, and it still worked. How
> "recent" did Sam do this?

2.6.9 did not handle "make one_module.ko" (for me on x86).

2005-july-08:
http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=155ad605b3c9c5874ff068f23c6ea8537190e0a8

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] [Fwd: Console locking and blanking]

2005-08-16 Thread Antonino A. Daplas

Alejandro Bonilla Beeche wrote:

On Tue, 2005-08-16 at 23:44 -0400, Steven Rostedt wrote:

On Wed, 2005-08-17 at 13:29 +1000, Benjamin Herrenschmidt wrote:

On Wed, 2005-08-17 at 11:41 +1000, Benjamin Herrenschmidt wrote:

(I'm blind and I use a braille display. I use those functions to blank 
my laptop's screen so people don't read it, and hopefully to conserve 
power.)

At the OLS I learned that the backlight of a laptop (when the screen is
black, but still glows) actually spends more wattage than when the
screen is lit.  So, unless you actually turn the laptop display off,
switching it to black will actually burn the battery quicker.


This sounds stupid. Who told you this? The actual brightness is the one
that consumes the most battery.

Seriously, who told you such thing?


In TFT displays, nontransmissive pixels consume more power than transmissive
pixels.  So a black background consumes more power than a white one. And
if you are using these ioctl's to blank the screen, it will default to
"normal blank" (if you don't set the vesa blanking mode first), which,
in vgacon or most of the fbdev's, will just turn the color palette to all
black.  So yes, you might be consuming more power with this method.

You're probably better off turning the brightness down, if you cannot turn
the backlight off. 


Tony

PS: I don't know the resulting power consumption if you use the vesa
blanking modes (TIOCL_SETVESABLANK) to blank while leaving the backlight on.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.13-rc6-rt6

2005-08-16 Thread Ingo Molnar

* Steven Rostedt <[EMAIL PROTECTED]> wrote:

> Since the change made raw_local_save_flags the same for both 
> PREEMPT_RT and !PREEMPT_RT, I moved it out of the #ifdef altogether.  
> The __raw_local_save_flags already does the type checking (at least 
> for intel).

ok, i've applied this one. Indeed it's pointless to trace the 
local_save_flags API.

Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [UPDATE PATCH] push rounding up of relative request to schedule_timeout()

2005-08-16 Thread Nishanth Aravamudan
On 16.08.2005 [17:39:11 -0700], George Anzinger wrote:
> Nishanth Aravamudan wrote:
> >On 04.08.2005 [09:45:55 -0700], George Anzinger wrote:
> >
> >>Uh... PLEASE tell me you are NOT changing timespec_to_jiffies() (and 
> >>timeval_to_jiffies() to add 1.  This is NOT the right thing to do.  For 
> >>repeating times (see setitimer code) we need the actual time as we KNOW 
> >>where the jiffies edge is in the repeating case.  The +1 is needed ONLY 
> >>for the initial time, not the repeating time.
> >>
> >>
> >>See:
> >>http://marc.theaimsgroup.com/?l=linux-kernel&m=112208357906156&w=2
> >
> >
> >I followed that thread, George, but I think it's a different case with
> >schedule_timeout() [maybe this indicates drivers/other users should
> >maybe be using itimers, but I'll get to that in a sec].
> 
> I think I miss understood back then :).

Ok, no problem. I was just thinking today about all the issues that were
borught up... I really appreciate your feedback.

> >
> >With schedule_timeout(), we are just given a relative jiffies value. We
> >have no context as to which task is requesting the delay, per se,
> >meaning we don't (can't) know from the interface whether this is the
> >first delay in a sequence, or a brand new one, without changing all
> >users to have some sort of control structure. The callers of
> >schedule_timeout() don't even get a pointer to the timer added
> >internally.
> >
> >So, adding 1 to all sleeps seems like it might be reasonable, as looping
> >sleeps probably need to use a different interface. I had worked a bit
> >ago on something like poll_event() with the kernel-janitors group, which
> >would abstract out the repeated sleeps. Basically wait_event() without
> >wait-queues... Maybe we could make such an interface just use itimers?
> >I've attached my old patch for poll_event(), just for reference.
> 
> I think not.  itimers is really pointed at a particular system call and 
> has resources in the task structure to do it.  These would be hard to 
> share...

Ok, I wasn't sure about that -- I'm not too familiar with the itimer
code (maybe I'll take a look at it soon :) )

> >My point, I guess, is that in the schedule_timeout() case, we don't know
> >where the jiffies edge is, as we either expire or receive a wait-queue
> >event/signal, we never mod_timer() the internal timer... So we have to
> >assume that we need to sleep the request. But maybe Roman's idea of
> >sleeping a certain number of jiffy edges is sufficient. I am not yet
> >convinced driver authors want/need such an interface, though, still
> >thinking it over.
> 
> IMNSHO we should not get too parental with kernel only interfaces. 
> Adding 1 is easy enough for the caller and even easier to explain in the 
> instructions (i.e. this call sleeps for X jiffies edges).  This allows 
> the caller to do more if needed and, should he ever just want to sync to 
> the next jiffie he does not have to deal with backing out that +1.

I don't want to be too parental either, but I also am trying to avoid
code duplication. Lots of drivers basically do something like
poll_event() does (or could do with some changes), i.e. looping a
constant amount multiple times, checking something every so often. The
patch was just a thought, though. I will keep evaluating drivers and see
if it's a useful interface to have eventually.

I guess I'm just concerned with making an unintuitive interface. As was
brought up at OLS, drivers are a major source of bugs/buggy code. The
simpler, more useful we can make interfaces, the better, I think. I'm
not claiming you disagree, I just want to make my own motives clear.
While fixing up the schedule_timeout() comment would make it clear what
schedule_timeout() achieves, I'm not sure how useful such an interface
is, if every caller adds 1 :) I need to mull it over, though... Lots to
consider. I also, of course, want to stay flexible for the reasons you
mention (letting the driver adjust the timeout as they expect to).

Thanks,
Nish
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: compiling only one module in kernel version 2.6?

2005-08-16 Thread Steven Rostedt
On Wed, 2005-08-17 at 01:48 -0400, Steven Rostedt wrote:
> On Tue, 2005-08-16 at 22:41 -0700, Randy.Dunlap wrote:
> > 
> > Sam only added make .ko build support very recently,
> > so it could easily depend on what kernel verison Fong is using.
> 
> That could very well explain it. I'm doing this on 2.6.13-rc6-rt6
> (2.6.13-rc6 with Ingo's rt6 patch applied).  So I really do have a
> recent kernel.
> 

I just did this on a 2.6.9 vanilla kernel, and it still worked. How
"recent" did Sam do this?

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6.13-rc6-latest] SCSI disk registration msgs repeat themselves

2005-08-16 Thread Pete Zaitcev
On Tue, 16 Aug 2005 21:39:33 -0700, Patrick Mansfield <[EMAIL PROTECTED]> wrote:
> On Tue, Aug 16, 2005 at 11:01:30PM -0400, Chuck Ebbert wrote:

> >   I just added some usb-storage devices to my system and got the below.

> > Why do the first four lines repeat for each device?  (Not sure if
> > this is a SCSI or USB problem.)
> 
> It is in the partition code. I posted twice before about this with no
> response.

It's not an important problem, presumably. I observe dual revalidations
as well, but they are not that bothersome. Add to it that your patch
appears wrong (see below). If you offered an acceptable solution, I would
expect a warmer welcome... But even then getting a reply from linux-scsi
folks is like pulling a tooth (if my own little CD-ROM sizing patch is
any indication). So, steel yourself for challenges of this life, Patrick!

> The changelog said it was a workaround for a borken device, but not what
> device it was or any other details.

Here's what it was in 2.6.9, as documented in drivers/block/ub.c:

+   /*
+* This is a workaround for a specific problem in our block layer.
+* In 2.6.9, register_disk duplicates the code from rescan_partitions.
+* However, if we do add_disk with a device which persistently reports
+* a changed media, add_disk calls register_disk, which does do_open,
+* which will call rescan_paritions for changed media. After that,
+* register_disk attempts to do it all again and causes double kobject
+* registration and a eventually an oops on module removal.
+*
+* The bottom line is, Al Viro says that we should not allow
+* bdev->bd_invalidated to be set when doing add_disk no matter what.
+*/
+   if (sc->first_open) {
+   if (sc->changed) {
+   sc->first_open = 0;
+   rc = -ENOMEDIUM;
+   goto err_open;
+   }
+   }

Users were hitting it with oopses like these:
http://www.ussg.iu.edu/hypermail/linux/kernel/0409.2/0011.html

The ub alone was not suffient to motivate Al for the fix, so I added
this silly "first_open" thingie, which papered over it. It was thought
that sd was miraclously immune.

However, over time users hit it with usb-storage and sd, like this:
 http://lkml.org/lkml/2004/2/21/19
This prompted Al's action. He simply dropped all the extra code like
this:

--- linux-2.6.9-11.5.EL/fs/partitions/check.c   2004-10-18 14:55:07.0 
-0700
+++ linux-2.6.12/fs/partitions/check.c  2005-06-17 12:48:29.0 -0700
@@ -358,24 +357,9 @@ void register_disk(struct gendisk *disk)
if (!bdev)
return;
 
+   bdev->bd_invalidated = 1;
if (blkdev_get(bdev, FMODE_READ, 0) < 0)
return;
-   state = check_partition(disk, bdev);
-   if (state) {
-   for (j = 1; j < state->limit; j++) {
-   sector_t size = state->parts[j].size;
-   sector_t from = state->parts[j].from;
-   if (!size)
-   continue;
-   add_partition(disk, j, from, size);
-#ifdef CONFIG_BLK_DEV_MD
-   if (!state->parts[j].flags)
-   continue;
-   md_autodetect_dev(bdev->bd_dev+j);
-#endif
-   }
-   kfree(state);
-   }
blkdev_put(bdev);
 }
 

I was just about to remove "first_open" from ub, because it's unnecessary
with Al's fix and it was getting on my nerves.

> --- linux-2.6.11-rc1/fs/partitions/check.cFri Dec 24 13:35:28 2004
> +++ no-double-sd-linux-2.6.11-rc1/fs/partitions/check.c   Fri Jan 21 
> 11:19:00 2005
> @@ -375,8 +375,6 @@ int rescan_partitions(struct gendisk *di
>   bdev->bd_invalidated = 0;
>   for (p = 1; p < disk->minors; p++)
>   delete_partition(disk, p);
> - if (disk->fops->revalidate_disk)
> - disk->fops->revalidate_disk(disk);

As for your proposed fix, it may be problematic. The ->revalidate
method has to be called at least once for a new device, because
that's when drivers fetch the capacities. But ->open only calls
check_disk_change() for removable devices. Who is going to call
->revalidate inside add_disk() for non-removable devices?

-- Pete
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: HDAPS, Need to park the head for real

2005-08-16 Thread Jens Axboe
On Tue, Aug 16 2005, Alejandro Bonilla Beeche wrote:
> On Tue, 2005-08-16 at 22:07 +0200, Jens Axboe wrote:
> > On Tue, Aug 16 2005, Alejandro Bonilla Beeche wrote:
> > If I were in your position, I would just implement this for ide (pata,
> > not sata) right now, since that is what you need to support (or do some
> > of these notebooks come with sata?). So it follows that you add an ide
> 
> Some notebooks are coming up with a Sata controller I think, but is
> still and IDE drive. I think some T43's come with that.
> 
> But, I will ask or check again later if we ever need this feature for
> SATA.

Doing it for sata as well is just a little more work. The generic code
is the same, but you probably need to add a per-queue hook for filling
the request with the proper command setup. For ide that would be a
REQ_DRIVE_TASKFILE, for libata you need to look at the pass through
stuff. Everything else still applies.

You're welcome,
-- 
Jens Axboe

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: compiling only one module in kernel version 2.6?

2005-08-16 Thread Steven Rostedt
On Tue, 2005-08-16 at 22:41 -0700, Randy.Dunlap wrote:
> 
> Sam only added make .ko build support very recently,
> so it could easily depend on what kernel verison Fong is using.

That could very well explain it. I'm doing this on 2.6.13-rc6-rt6
(2.6.13-rc6 with Ingo's rt6 patch applied).  So I really do have a
recent kernel.

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.13-rc6-rt6

2005-08-16 Thread Steven Rostedt
On Wed, 2005-08-17 at 00:20 -0400, Steven Rostedt wrote:
> Ingo,
> 
> FYI, I ran this on my laptop (Pentium4 HT) and it locked up shortly
> after it started INIT.  I rebooted, and now it's up and running 
> with no problems!?!  I'll reboot it a few more times to see if it will
> lock up again.

With a small change it locks up all the time :-)

> 
> Unfortunately, my laptop doesn't have any serial so I don't have much to
> debug with it.  I'll set up netconsole, but this is not as reliable
> under RT, or was this fixed. I remember before that it could call things
> that would schedule and had some hooks to keep interrupts on.
> 
> Oh, I also did get the message when it started:
> 
> WARNING: kstopmachine/859 changed soft IRQ-flags.
>  [] stop_machine+0x11b/0x160 (8)
>  [] do_stop+0xe/0x70 (32)
>  [] kthread+0xba/0xc0 (16)
>  [] kthread+0x0/0xc0 (28)
>  [] kernel_thread_helper+0x5/0x10 (16)

I replaced this with raw_local_irq_disable and it really locks up
everytime now.  I need to look into how this is best done.

> The kernel I used was rt6 with my latest patch to the
> raw_local_save_flags.

I just got the NMI working, but since it is now 1:44am my time, I'm
going to bed.  I'll run it again tomorrow and hopefully the NMI will
show where and why it's locking up.

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ppc32: removed usage of

2005-08-16 Thread Kumar Gala


On Aug 16, 2005, at 10:33 PM, David S. Miller wrote:


From: Paul Mackerras <[EMAIL PROTECTED]>
Date: Wed, 17 Aug 2005 11:38:20 +1000



Kumar Gala writes:



Made  a dummy include like it is in ppc64 and removed


any


users if it in arch/ppc.



Why can't we just delete asm-ppc/segment.h (and asm-ppc64/segment.h
too, for that matter) entirely?



I concur, in fact we should really kill that thing off entirely.


I'm all for killing it off entirely but got some feedback that on  
i386 segment.h can be included by userspace programs.


Here is the in kernel consumers that are outside of arch specific  
directories:


./drivers/char/mxser.c:#include 
./drivers/isdn/hisax/hisax.h:#include 
./drivers/media/video/adv7170.c:#include 
./drivers/media/video/adv7175.c:#include 
./drivers/media/video/bt819.c:#include 
./drivers/media/video/bt856.c:#include 
./drivers/media/video/saa7111.c:#include 
./drivers/media/video/saa7114.c:#include 
./drivers/media/video/saa7185.c:#include 
./drivers/serial/68328serial.c:#include 
./drivers/serial/crisv10.c:#include 
./drivers/serial/icom.c:#include 
./drivers/serial/mcfserial.c:#include 
./drivers/video/q40fb.c:#include 
./include/linux/isdn.h:#include 
./sound/oss/os.h:#include 

- kumar

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC][PATCH] Mobil Pentium 4 HT and the NMI

2005-08-16 Thread Steven Rostedt
I'm trying to get the nmi working with my laptop (IBM ThinkPad G41) and
after debugging it a while, I found that the nmi code doesn't want to
set it up for this particular CPU.

Here I have:

$ cat /proc/cpuinfo
processor   : 0
vendor_id   : GenuineIntel
cpu family  : 15
model   : 4
model name  : Mobile Intel(R) Pentium(R) 4 CPU 3.33GHz
stepping: 1
cpu MHz : 3320.084
cache size  : 1024 KB
physical id : 0
siblings: 2
core id : 0
cpu cores   : 1
fdiv_bug: no
hlt_bug : no
f00f_bug: no
coma_bug: no
fpu : yes
fpu_exception   : yes
cpuid level : 3
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni
monitor ds_cpl est tm2 cid xtpr
bogomips: 6642.39

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 15
model   : 4
model name  : Mobile Intel(R) Pentium(R) 4 CPU 3.33GHz
stepping: 1
cpu MHz : 3320.084
cache size  : 1024 KB
physical id : 0
siblings: 2
core id : 0
cpu cores   : 1
fdiv_bug: no
hlt_bug : no
f00f_bug: no
coma_bug: no
fpu : yes
fpu_exception   : yes
cpuid level : 3
wp  : yes
flags   : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pni
monitor ds_cpl est tm2 cid xtpr
bogomips: 6637.46



And the following code shows:

$ cat linux-2.6.13-rc6/arch/i386/kernel/nmi.c

[...]

void setup_apic_nmi_watchdog (void)
{
switch (boot_cpu_data.x86_vendor) {
case X86_VENDOR_AMD:
if (boot_cpu_data.x86 != 6 && boot_cpu_data.x86 != 15)
return;
setup_k7_watchdog();
break;
case X86_VENDOR_INTEL:
 switch (boot_cpu_data.x86) {
case 6:
if (boot_cpu_data.x86_model > 0xd)
return;

setup_p6_watchdog();
break;
case 15:
if (boot_cpu_data.x86_model > 0x3)
return;
 
Here I get boot_cpu_data.x86_model == 0x4.  So I decided to change it
and reboot.  I now seem to have a working NMI.  So, unless there's
something know to be bad about this processor and the NMI. I'm
submitting the following patch.

-- Steve

Signed-off-by: Steven Rostedt <[EMAIL PROTECTED]>

--- linux-2.6.13-rc6-git1/arch/i386/kernel/nmi.c.orig   2005-08-17 
01:34:21.0 -0400
+++ linux-2.6.13-rc6-git1/arch/i386/kernel/nmi.c2005-08-17 
01:40:13.0 -0400
@@ -195,7 +195,7 @@ static void disable_lapic_nmi_watchdog(v
wrmsr(MSR_P6_EVNTSEL0, 0, 0);
break;
case 15:
-   if (boot_cpu_data.x86_model > 0x3)
+   if (boot_cpu_data.x86_model > 0x4)
break;
 
wrmsr(MSR_P4_IQ_CCCR0, 0, 0);
@@ -432,7 +432,7 @@ void setup_apic_nmi_watchdog (void)
setup_p6_watchdog();
break;
case 15:
-   if (boot_cpu_data.x86_model > 0x3)
+   if (boot_cpu_data.x86_model > 0x4)
return;
 
if (!setup_p4_watchdog())


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: compiling only one module in kernel version 2.6?

2005-08-16 Thread Randy.Dunlap
On Tue, 16 Aug 2005 23:18:49 -0400 Steven Rostedt wrote:

> On Tue, 2005-08-16 at 19:09 -0700, Fong Vang wrote:
> > What's the easiest way to compile just one module in the Linux 2.6 kernel 
> > tree?
> > 
> > This no longer seem to work:
> > 
> >   $ cd /usr/src/linux
> >   $ make SUBDIRS=fs/reiserfs modules
> >Building modules, stage 2.
> >MODPOST
> > 
> >   I don't see any .ko generated.
> 
> It worked for me. Is your reiserfs turned on as a module, and not
> compiled into the kernel. ( not <*> nor < >)

Sam only added make .ko build support very recently,
so it could easily depend on what kernel verison Fong is using.

---
~Randy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC][PATCH 2.6.13-rc6] add Dell Systems Management Base Driver (dcdbas) with sysfs support

2005-08-16 Thread Matt Domsch
On Tue, Aug 16, 2005 at 06:47:45PM -0500, [EMAIL PROTECTED] wrote:
> > From: Greg KH [mailto:[EMAIL PROTECTED] 
> > > And just to re-iterate one more time, we can already directly hook 
> > > into
> > > hardware from userspace without any kernel auditing. We are 
> > just trying 
> > > to set this out on the table for everybody to see.
> > 
> > So, this whole driver is not needed at all?  It can all be 
> > done from userspace?  If so, then this shouldn't be added to 
> > the kernel tree.
> 
> Several reasons:
> 
> A) Auditability: we don't do "secret" SMI calls behind people's backs.
> This is an issue for some of our larger customers. This also provides a
> legitimate reason that I can use to justify to management publicly
> documenting the rest of the SMI calls that are not in use by our
> software. Things like: "Hey, SomeBigDellCustomer wants to know what Dell
> is doing with the open source dcdbas driver and all of the other SMI
> function docs" pull a lot of weight.
> 
> B) Safety: It is easier to provide a single API with well defined
> semantics so there are no race conditions when multiple programs try to
> do SMI at the same time. SMI from userspace can be tricky, and I want to
> make it easy to get right. Things like finding an usused BIOS reserved
> area and coordinating access between multiple programs can be difficult.
> Additionally, finding an area large enough to hold everything for the
> larger SMI calls is tricky (ie. depends on which system, BIOS memory
> layout, etc. Very difficult to safely code for and mostly not worth the
> effort if we can get this driver in).
> 
> C) host control actions need to happen in kernel at shutdown, so that
> part of the driver needs to be in the kernel. (this part isn't the part
> that provides generic SMI stuff to userspace)

Indeed, at least a little bit of kernel help is necessary for
allocating coherent physical memory blocks below 4GB for SMI use, and
is the best place to synchronize multiple users of those memory
blocks.  It need not offer much in the kernel, but it need offer at
least that much.  How much more appears to be the subject of the
debate now.

First, let me thank everyone for their time reviewing the code and
providing food for thought.  I value your input greatly.


I've been looking at the suggesions about putting more of the
functionality currently handled in userspace by libsmbios into the
kernel.  It's definitely possible, but I don't like it.  In order of operations:

1) SMBIOS/DMI table parsing for OEM-specific data blocks.  The present
   arch/i386/kernel/dmi_scan.c saves the normally useful information,
   but not OEM-specific data blocks, and the scanning and storing
   functions are all __init.  It could be extended to save more data
   (mostly unused though), or to obtain it again at runtime if needed
   (remove __init), on behalf of the driver.  libsmbios does this
   already without kernel driver help thanks to /dev/mem.

2) Token Discovery.  Many of the tokens don't exist on any given
   system.  For the ones mapped in CMOS, the SMBIOS tables tell you
   which ones exist.  For those mapped by SMIs, there's no structure
   that tells you it exists - you must try it and find out.  This
   would involve an awful lot of SMI calls at driver init time, to do
   discovery and not export files for nonexistent functions, when in
   practice most of the calls won't ever be used.  You could skip the
   discovery and export all the functions as files, many of which
   would be useless on any given platform, and have those return
   -ENOTSUP.  I'd prefer to have a userspace tool show the list of
   potential calls, and return akin to -ENOTSUP when any given call is
   tried but isn't available on that system.  libsmbios does this
   already.

3) Reading/writing the values behind the CMOS/SMI tokens (BIOS F2
   screen for example) requires that the tokens be exported first,
   ideally via sysfs.  In SMBIOS tables, the tokens are identified by
   a number, not by a human-readable string, which is what you'd want
   when naming the entries in sysfs.  The values for each token also
   aren't kept in human-readable strings, but in scalar values.  To be
   useful, you'd need a mapping of token number to name, and token
   value to value name.  You'd need to know the input validation
   routine for each token.  And you'd need to extend this list any
   time a new token is added to any BIOS.  One *could* use the
   request_firmware() to load in a table of these mappings from
   userspace, such that the mapping could be easily extended from
   userspace over time without having to change the driver regularly.
   Alternately, one could follow the PCI new_ids or SCSI
   /proc/scsi/device_info method of adding new token mappings on the
   fly.  libsmbios already provides a mechanism to do this in
   userspace, and it's extensible (edit and load a new config file at
   runtime) in a similar fashion.


So it's not impossible, but it seems like it'

Re: [RFC] [PATCH] cache pollution aware __copy_from_user_ll()

2005-08-16 Thread Hiro Yoshioka
Akira,

Thanks for your suggestions.

On 8/17/05, Akira Tsukamoto <[EMAIL PROTECTED]> wrote:
> Anyway, going back to copy_user topic,
> big remaining issues are
>   1)store/restore floating point register (80/64bytes) twice every time by
>  surrounding with kernel_fpu_begin()/kernel_fpu_end() is big penalty

I don't know. If nobody uses MMX/XMM, then there is no need
to save and restore.

>   2)after pagefault not always come back to copy function and corrupts fp 
> register

I'm trying to understand this mechanism but I don't
understand very well.

>   3)disabling long preemption
> Please correct me if I am wrong.
> 
> I tried to implement fpsave inside pagefault handler once and here is my junk;
> http://www.suna-asobi.com/~akira-t/linux/k7-copy-user/K7-copy_47_with_fpusave_not_finished.patch
> never had a time to finish it. Hiro, does it help you?

Thanks. I'm reading your patch but could not understand very well.

I'll ask you.

Regards,
  Hiro
-- 
Hiro Yoshioka
mailto:hyoshiok at miraclelinux.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


powernow-k8 cpufreq driver problems (fails to load on MSI k8n neo2 w/3500+)

2005-08-16 Thread Jon Schindler

Hi,

I have two machines with similar specs (same motherboard and bios version), 
and one works fine with the cpufreq driver while the other machine is giving 
me the following messages below.


powernow-k8: Found 1 AMD Athlon 64 / Opteron processors (version 1.40.4)
cpufreq-core: trying to register driver powernow-k8
cpufreq-core: adding CPU 0
powernow-k8: register performance failed: bad ACPI data
powernow-k8: BIOS error - no PSB or ACPI _PSS objects
cpufreq-core: initialization failed
cpufreq-core: no CPU initialized for driver powernow-k8
cpufreq-core: unregistering CPU 0

I have done roughly 8 hours of google searching and research, have tried 
various kernel options, tried updating to the latest kernel, tried reverting 
to an earlier bios, but nothing seems to work.  At this point, I think there 
may be an issue with the kernel.  However, it doesn't make sense that the 
bios and powernow would work with a bleeding edge dual core processor, but 
not work with an older processor model on the same motherboard.  I've 
obviously run out of ideas.  If anyone has any suggestions or ideas, (or 
even better, a patch) I would really appreciate it.


Strangely enough, the machine that works with powernow has a leading edge 
athlon 4800+, while the one that is broken is running an Athlon 3500+.


Anyway, here are the details.
Machine 1: (works with powernow)
OS: Fedora Core 4 64 bit version, kernel 2.6.12.3
AMD Athlon 4800+
3GB of RAM
MSI K8N Neo2 Platinum motherboard with bios version 1.9
Nvidia Geforce 6800 GT video card (AGP)
3 hard drives, 2 SATA, 1 ATA
ATI Tv Wonder PCI
1 Plextor DVD burner

Machine 2:(fails to load powernow driver)
OS: Fedora Cord 4 32 bit version, kernel 2.6.12.4
AMD Athlon 3500+ (venice core, stepping 2)
MSI K8N Neo2 Platinum motherboard with bios version 1.9
1 GB of RAM
Trident PCI video card (it's a file/mail server)
4 SATA drives in a RAID 5 array (data drives)
2 ATA drives in a RAID 1 array (boot drive)
1 NEC DVD RW (model 3504?)

Here is the dmesg for machine 1:
Bootdata ok (command line is ro root=LABEL=/1 rhgb quiet)
Linux version 2.6.12.3 ([EMAIL PROTECTED]) (gcc version 4.0.0 20050519 (Red Hat 
4.0.0-8)) #2 SMP Thu Jul 21 03:48:06 CDT 2005

BIOS-provided physical RAM map:
BIOS-e820:  - 0009f000 (usable)
BIOS-e820: 0009f000 - 000a (reserved)
BIOS-e820: 000f - 0010 (reserved)
BIOS-e820: 0010 - bfff (usable)
BIOS-e820: bfff - bfff3000 (ACPI NVS)
BIOS-e820: bfff3000 - c000 (ACPI data)
BIOS-e820: fec0 - 0001 (reserved)
ACPI: RSDP (v000 Nvidia) @ 
0x000f8f30
ACPI: RSDT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x) @ 
0xbfff3040
ACPI: FADT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x) @ 
0xbfff30c0
ACPI: SSDT (v001 PTLTD  POWERNOW 0x0001  LTP 0x0001) @ 
0xbfff7b80
ACPI: MADT (v001 Nvidia AWRDACPI 0x42302e31 AWRD 0x) @ 
0xbfff7ac0
ACPI: DSDT (v001 NVIDIA AWRDACPI 0x1000 MSFT 0x010e) @ 
0x

On node 0 totalpages: 786416
 DMA zone: 4096 pages, LIFO batch:1
 Normal zone: 782320 pages, LIFO batch:31
 HighMem zone: 0 pages, LIFO batch:1
Nvidia board detected. Ignoring ACPI timer override.
ACPI: PM-Timer IO Port: 0x4008
ACPI: Local APIC address 0xfee0
ACPI: LAPIC (acpi_id[0x00] lapic_id[0x00] enabled)
Processor #0 15:3 APIC version 16
ACPI: LAPIC (acpi_id[0x01] lapic_id[0x01] enabled)
Processor #1 15:3 APIC version 16
ACPI: LAPIC_NMI (acpi_id[0x00] high edge lint[0x1])
ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
ACPI: IOAPIC (id[0x02] address[0xfec0] gsi_base[0])
IOAPIC[0]: apic_id 2, version 17, address 0xfec0, GSI 0-23
ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
ACPI: BIOS IRQ0 pin2 override ignored.
ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
ACPI: INT_SRC_OVR (bus 0 bus_irq 14 global_irq 14 high edge)
ACPI: INT_SRC_OVR (bus 0 bus_irq 15 global_irq 15 high edge)
ACPI: IRQ9 used by override.
ACPI: IRQ14 used by override.
ACPI: IRQ15 used by override.
Setting APIC routing to flat
Using ACPI (MADT) for SMP configuration information
Allocating PCI resources starting at c000 (gap: c000:3ec0)
Checking aperture...
CPU 0: aperture @ e000 size 256 MB
Built 1 zonelists
Kernel command line: ro root=LABEL=/1 rhgb quiet
Initializing CPU#0
PID hash table entries: 4096 (order: 12, 131072 bytes)
time.c: Using 3.579545 MHz PM timer.
time.c: Detected 2411.790 MHz processor.
Console: colour VGA+ 80x25
Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes)
Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes)
Memory: 3088432k/3145664k available (2361k kernel code, 56304k reserved, 
1585k data, 220k init)

Calibrating delay loop... 4784.12 BogoMIPS (lpj=2392064)
Security Framework v1.0.0 initialized
SELinux:  Initializing.
SELinux:  Starting in permissi

Re: [RFC] [PATCH] cache pollution aware __copy_from_user_ll()

2005-08-16 Thread Hiro Yoshioka
From: Hiro Yoshioka <[EMAIL PROTECTED]>
Subject: Re: [RFC] [PATCH] cache pollution aware __copy_from_user_ll()
Date: Wed, 17 Aug 2005 08:21:53 +0900 (JST)
Message-ID: <[EMAIL PROTECTED]>

> Chuck,
> 
> From: Chuck Ebbert <[EMAIL PROTECTED]>
> > On Tue, 16 Aug 2005 at 19:16:17 +0900 (JST), Hiro Yoshioka wrote:
> > > oh, really? Does the linux kernel take care of
> > > SSE save/restore on a task switch?
> > 
> >  Check out XMMS_SAVE and XMMS_RESTORE in include/asm-i386/xor.h
> 
> Thanks for your suggestion. But it seems to me it won't help
> when we have a page fault or other exeptions.

Hi,

Let me understand what the kernel does save/resfore FPU/MMX/XMM
registers. Please let me know if I'm wrong.

1) kernel_fpu_begin()
 preempt_disable()
 if TS_USEDFPU then
   __save_init_fpu()
... save to tsk->thread.i387.f*save
clear TS_USEDFPU flag of tsk->thread_info->status
 else
clts() --- clear TS flag of CR0

2) copy 
 MMX/XMM registers are used.

3) page faults/exceptions/...
3-1  TS flag is set by the CPU (Am I right?)
 if nobody uses MMX/XMM
3-2 it's fine. we don't need save/restore
 else
3-3 MMX/XMM is used

  When TS flag is set, the CPU monitors the instruction stream
of X87 FPU/MMX/SSE/SSE2 instructions. When the CPU detects one of
these instruction, it raises a device-not-available exception (#NM)
prior to executing the instruction. (IA32 Software Developer's Manual,
Vol. 3, 12.5.1)

  math_state_restore() is the device-not-available exception
 clts()
 if (!tsk_used_math(tsk))
init_fpu(tsk);
 restore_fpu(tsk);
 set TS_USEDFPU;

4) kernel_fpu_end()
 stts(); set TS flag of CR0
 preempt_enable();

It seems to me that the kernel automatically save/restore FPU/MMX/XMM
registers.

What's wrong with it? Do I misunderstand it?

Regards,
  Hiro
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [2.6.13-rc6-latest] SCSI disk registration msgs repeat themselves

2005-08-16 Thread Patrick Mansfield
On Tue, Aug 16, 2005 at 11:01:30PM -0400, Chuck Ebbert wrote:
>   I just added some usb-storage devices to my system and got the below.
> Why do the first four lines repeat for each device?  (Not sure if
> this is a SCSI or USB problem.)

It is in the partition code. I posted twice before about this with no
response.

The changelog said it was a workaround for a borken device, but not what
device it was or any other details.

There is a patch (against 2.6.11) in the below, I haven't tried it with
recent kernels:

http://marc.theaimsgroup.com/?l=linux-scsi&m=110719123625593&w=2
http://marc.theaimsgroup.com/?l=linux-scsi&m=110848617107098&w=2

-- Patrick Mansfield
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.13-rc6-rt6

2005-08-16 Thread Steven Rostedt
Ingo,

FYI, I ran this on my laptop (Pentium4 HT) and it locked up shortly
after it started INIT.  I rebooted, and now it's up and running 
with no problems!?!  I'll reboot it a few more times to see if it will
lock up again.

Unfortunately, my laptop doesn't have any serial so I don't have much to
debug with it.  I'll set up netconsole, but this is not as reliable
under RT, or was this fixed. I remember before that it could call things
that would schedule and had some hooks to keep interrupts on.

Oh, I also did get the message when it started:

WARNING: kstopmachine/859 changed soft IRQ-flags.
 [] stop_machine+0x11b/0x160 (8)
 [] do_stop+0xe/0x70 (32)
 [] kthread+0xba/0xc0 (16)
 [] kthread+0x0/0xc0 (28)
 [] kernel_thread_helper+0x5/0x10 (16)
---
| preempt count:  ]
| 0-level deep critical section nesting:


--
| showing all locks held by: |  (kstopmachine/859 [f74dc840,   0]):
--

The kernel I used was rt6 with my latest patch to the
raw_local_save_flags.

Config attached.

-- Steve



config-bilbo.bz2
Description: application/bzip


Re: [PATCH] [Fwd: Console locking and blanking]

2005-08-16 Thread Steven Rostedt
On Tue, 2005-08-16 at 21:55 -0600, Alejandro Bonilla Beeche wrote:
> On Tue, 2005-08-16 at 23:44 -0400, Steven Rostedt wrote:
> > On Wed, 2005-08-17 at 13:29 +1000, Benjamin Herrenschmidt wrote:
> > > On Wed, 2005-08-17 at 11:41 +1000, Benjamin Herrenschmidt wrote:
> > > 
> > > > (I'm blind and I use a braille display. I use those functions to blank 
> > > > my laptop's screen so people don't read it, and hopefully to conserve 
> > > > power.)
> > 
> > At the OLS I learned that the backlight of a laptop (when the screen is
> > black, but still glows) actually spends more wattage than when the
> > screen is lit.  So, unless you actually turn the laptop display off,
> > switching it to black will actually burn the battery quicker.
> 
> This sounds stupid. Who told you this? The actual brightness is the one
> that consumes the most battery.
> 
> Seriously, who told you such thing?
> 

It was one of the speakers during the presentation.  He seemed to know
what he was talking about, in fact, I was caught so off guard by the
statement, I got up and ask him the question again. "Did you say that
the backlight of the laptop takes up more energy than when it is on?"
and he replied "yes"!

I rememeber this being in room C (could be wrong, I went to so many
sessions).  Looking at the program, it could have been "Linux Power
Management" by Patrick Mochel. But I honestly don't remember which
session it was. (I'm CCing him to see if he can clear things up :-)

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] [Fwd: Console locking and blanking]

2005-08-16 Thread Alejandro Bonilla Beeche
On Tue, 2005-08-16 at 23:44 -0400, Steven Rostedt wrote:
> On Wed, 2005-08-17 at 13:29 +1000, Benjamin Herrenschmidt wrote:
> > On Wed, 2005-08-17 at 11:41 +1000, Benjamin Herrenschmidt wrote:
> > 
> > > (I'm blind and I use a braille display. I use those functions to blank 
> > > my laptop's screen so people don't read it, and hopefully to conserve 
> > > power.)
> 
> At the OLS I learned that the backlight of a laptop (when the screen is
> black, but still glows) actually spends more wattage than when the
> screen is lit.  So, unless you actually turn the laptop display off,
> switching it to black will actually burn the battery quicker.

This sounds stupid. Who told you this? The actual brightness is the one
that consumes the most battery.

Seriously, who told you such thing?

.Alejandro

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] [Fwd: Console locking and blanking]

2005-08-16 Thread Benjamin Herrenschmidt
On Tue, 2005-08-16 at 23:44 -0400, Steven Rostedt wrote:
> On Wed, 2005-08-17 at 13:29 +1000, Benjamin Herrenschmidt wrote:
> > On Wed, 2005-08-17 at 11:41 +1000, Benjamin Herrenschmidt wrote:
> > 
> > > (I'm blind and I use a braille display. I use those functions to blank 
> > > my laptop's screen so people don't read it, and hopefully to conserve 
> > > power.)
> 
> At the OLS I learned that the backlight of a laptop (when the screen is
> black, but still glows) actually spends more wattage than when the
> screen is lit.  So, unless you actually turn the laptop display off,
> switching it to black will actually burn the battery quicker.

Actually, it's not the backlight. The backlight definitely eats less
power when off. The panel itself, however, at least some of them afaik,
will use a bit more power for opaque pixels than for transparent pixels.

Ben.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] [Fwd: Console locking and blanking]

2005-08-16 Thread Jon Smirl
As an alternative to using VT IOCTLs you should be able to echo these
values to /sys/class/graphics/fb0/blank and blank the screen. The
attribute is pretty new so it hasn't had a lot of testing on the
various fbdev drivers.

#define VESA_NO_BLANKING0
#define VESA_VSYNC_SUSPEND  1
#define VESA_HSYNC_SUSPEND  2
#define VESA_POWERDOWN  3


On 8/16/05, Benjamin Herrenschmidt <[EMAIL PROTECTED]> wrote:
> On Wed, 2005-08-17 at 11:41 +1000, Benjamin Herrenschmidt wrote:
> 
> > (I'm blind and I use a braille display. I use those functions to blank
> > my laptop's screen so people don't read it, and hopefully to conserve
> > power.)
> 
> Oops ! I _am_not_ the one who is blind, though thanks a lot for some of
> the comments ;) I just forgot the line:
> 
> From: Stéphane Doyon <[EMAIL PROTECTED]>
> 
> (I'm still stuck to Signed-off-by only lines)
> 
> 
> Stephane is to congratulate for this fix.
> 
> Ben.
> 
> 
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [EMAIL PROTECTED]
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
> 


-- 
Jon Smirl
[EMAIL PROTECTED]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: net-irda-possible-cleanups.patch added to -mm tree

2005-08-16 Thread David S. Miller

I've put this into the net-2.6.14 tree.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] [Fwd: Console locking and blanking]

2005-08-16 Thread Steven Rostedt
On Wed, 2005-08-17 at 13:29 +1000, Benjamin Herrenschmidt wrote:
> On Wed, 2005-08-17 at 11:41 +1000, Benjamin Herrenschmidt wrote:
> 
> > (I'm blind and I use a braille display. I use those functions to blank 
> > my laptop's screen so people don't read it, and hopefully to conserve 
> > power.)

At the OLS I learned that the backlight of a laptop (when the screen is
black, but still glows) actually spends more wattage than when the
screen is lit.  So, unless you actually turn the laptop display off,
switching it to black will actually burn the battery quicker.

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ppc32: removed usage of

2005-08-16 Thread David S. Miller
From: Paul Mackerras <[EMAIL PROTECTED]>
Date: Wed, 17 Aug 2005 11:38:20 +1000

> Kumar Gala writes:
> 
> > Made  a dummy include like it is in ppc64 and removed any
> > users if it in arch/ppc.
> 
> Why can't we just delete asm-ppc/segment.h (and asm-ppc64/segment.h
> too, for that matter) entirely?

I concur, in fact we should really kill that thing off entirely.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] [Fwd: Console locking and blanking]

2005-08-16 Thread Benjamin Herrenschmidt
On Wed, 2005-08-17 at 11:41 +1000, Benjamin Herrenschmidt wrote:

> (I'm blind and I use a braille display. I use those functions to blank 
> my laptop's screen so people don't read it, and hopefully to conserve 
> power.)

Oops ! I _am_not_ the one who is blind, though thanks a lot for some of
the comments ;) I just forgot the line:

From: Stéphane Doyon <[EMAIL PROTECTED]>

(I'm still stuck to Signed-off-by only lines)


Stephane is to congratulate for this fix.

Ben.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [ANNOUNCE] iproute2 util update

2005-08-16 Thread Eric Dumazet

Stephen Hemminger a écrit :

http://developer.osdl.org/dev/iproute2/download/iproute2-050816.tar.gz

Update to iproute2 to include:
* Limit ip neigh flush to 10 rounds
* tc ematch support (thomas)
* build cleanups (thomas, et al)
* Fix for options process with ipt (jamal)
* Fix array overflow in paretonormal distribution build
* Update include files to 2.6.13
* Decnet doc update (Steven Whithouse)

Note: the ematch support won't build on really old versions of bison (1.28),
  but the kernel on those systems wouldn't support it anyway.
-

Thank you

Could you please apply this patch.

* Fix lnstat : First column should not be summed

Thank you

Signed-off-by: Eric Dumazet <[EMAIL PROTECTED]>


--- iproute2-050816-orig/misc/lnstat_util.c 2005-03-18 20:40:19.0 
+0100
+++ iproute2-050816/misc/lnstat_util.c  2005-08-17 05:21:04.0 +0200
@@ -55,7 +55,7 @@
for (j = 0; j < lf->num_fields; j++) {
unsigned long f = strtoul(ptr, &ptr, 16);
if (j == 0) 
-   lf->fields[j].values[i] += f;
+   lf->fields[j].values[i] = f;
else
lf->fields[j].values[i] += f;
}


Re: compiling only one module in kernel version 2.6?

2005-08-16 Thread Steven Rostedt
On Tue, 2005-08-16 at 19:09 -0700, Fong Vang wrote:
> What's the easiest way to compile just one module in the Linux 2.6 kernel 
> tree?
> 
> This no longer seem to work:
> 
>   $ cd /usr/src/linux
>   $ make SUBDIRS=fs/reiserfs modules
>Building modules, stage 2.
>MODPOST
> 
>   I don't see any .ko generated.

It worked for me. Is your reiserfs turned on as a module, and not
compiled into the kernel. ( not <*> nor < >)

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[2.6.13-rc6-latest] SCSI disk registration msgs repeat themselves

2005-08-16 Thread Chuck Ebbert
  I just added some usb-storage devices to my system and got the below.
Why do the first four lines repeat for each device?  (Not sure if
this is a SCSI or USB problem.)

[   23.433725] SCSI device sda: 63424 512-byte hdwr sectors (32 MB)
[   23.560564] sda: Write Protect is off
[   23.560581] sda: Mode Sense: 02 00 00 00
[   23.560593] sda: assuming drive cache: write through
[   23.572525] SCSI device sda: 63424 512-byte hdwr sectors (32 MB)
[   23.576504] sda: Write Protect is off
[   23.576519] sda: Mode Sense: 02 00 00 00
[   23.576530] sda: assuming drive cache: write through
[   23.576545]  sda: sda1
[   23.583752] Attached scsi removable disk sda at scsi1, channel 0, id 0, lun 0
[   23.583847] Attached scsi generic sg1 at scsi1, channel 0, id 0, lun 0,  
type 0
[   23.584701] usb-storage: device scan complete
[   32.116248] SCSI device sdb: 196608 512-byte hdwr sectors (101 MB)
[   32.141310] sdb: Write Protect is off
[   32.153477] sdb: Mode Sense: 45 00 00 08
[   32.153490] sdb: assuming drive cache: write through
[   32.178386] SCSI device sdb: 196608 512-byte hdwr sectors (101 MB)
[   32.204473] sdb: Write Protect is off
[   32.216654] sdb: Mode Sense: 45 00 00 08
[   32.216735] sdb: assuming drive cache: write through
[   32.233259]  sdb: sdb4
[   32.246595] Attached scsi removable disk sdb at scsi2, channel 0, id 0, lun 0
[   32.270348] Attached scsi generic sg2 at scsi2, channel 0, id 0, lun 0,  
type 0
[   32.295843] usb-storage: device scan complete


__
Chuck
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[PATCH for 2.6.13] iSeries build with newer assemblers and compilers

2005-08-16 Thread Paul Mackerras
From: Stephen Rothwell <[EMAIL PROTECTED]>

Paulus suggested that we put xLparMap in its own .c file so that we can
generate a .s file to be included into head.S.  This doesn't get around
the problem of having it at a fixed address, but it makes it more
palatable.

It would be good if this could be included in 2.6.13 as it solves our
build problems with various versions of binutils and gcc.  In
particular, it allows us to build an iSeries kernel on Debian unstable
using their biarch compiler.

This has been built and booted on iSeries and built for pSeries and g5.

Signed-off-by: Stephen Rothwell <[EMAIL PROTECTED]>
Signed-off-by: Paul Mackerras <[EMAIL PROTECTED]>
---
 arch/ppc64/kernel/LparData.c|   79 
 arch/ppc64/kernel/Makefile  |5 ++
 arch/ppc64/kernel/head.S|6 ++
 arch/ppc64/kernel/lparmap.c |   31 ++
 include/asm-ppc64/iSeries/LparMap.h |9 +++-
 5 files changed, 51 insertions(+), 79 deletions(-)

diff -ruN linus/arch/ppc64/kernel/LparData.c 
linus-lparmap.2/arch/ppc64/kernel/LparData.c
--- linus/arch/ppc64/kernel/LparData.c  2005-07-28 11:23:11.0 +1000
+++ linus-lparmap.2/arch/ppc64/kernel/LparData.c2005-08-16 
17:13:16.0 +1000
@@ -32,32 +32,12 @@
 /* The HvReleaseData is the root of the information shared between 
  * the hypervisor and Linux.  
  */
-
-/*
- * WARNING - magic here
- *
- * Ok, this is a horrid hack below, but marginally better than the
- * alternatives.  What we really want is just to initialize
- * hvReleaseData in C as in the #if 0 section here.  However, gcc
- * refuses to believe that (u32)&x is a constant expression, so will
- * not allow the xMsNucDataOffset field to be properly initialized.
- * So, we declare hvReleaseData in inline asm instead.  We use inline
- * asm, rather than a .S file, because the assembler won't generate
- * the necessary relocation for the LparMap either, unless that symbol
- * is declared in the same source file.  Finally, we put the asm in a
- * dummy, attribute-used function, instead of at file scope, because
- * file scope asms don't allow contraints.  We want to use the "i"
- * constraints to put sizeof() and offsetof() expressions in there,
- * because including asm/offsets.h in C code then stringifying causes
- * all manner of warnings.
- */
-#if 0
 struct HvReleaseData hvReleaseData = {
.xDesc = 0xc8a5d9c4,/* "HvRD" ebcdic */
.xSize = sizeof(struct HvReleaseData),
.xVpdAreasPtrOffset = offsetof(struct naca_struct, xItVpdAreas),
.xSlicNacaAddr = &naca, /* 64-bit Naca address */
-   .xMsNucDataOffset = (u32)((unsigned long)&xLparMap - KERNELBASE),
+   .xMsNucDataOffset = LPARMAP_PHYS,
.xFlags = HVREL_TAGSINACTIVE/* tags inactive   */
/* 64 bit  */
/* shared processors   */
@@ -70,63 +50,6 @@
0xa7, 0x40, 0xf2, 0x4b,
0xf4, 0x4b, 0xf6, 0xf4 },
 };
-#endif
-
-
-extern struct HvReleaseData hvReleaseData;
-
-static void __attribute_used__ hvReleaseData_wrapper(void)
-{
-   /* This doesn't appear to need any alignment (even 4 byte) */
-   asm volatile (
-   "   lparMapPhys = xLparMap - %3\n"
-   "   .data\n"
-   "   .globl  hvReleaseData\n"
-   "hvReleaseData:\n"
-   "   .long   0xc8a5d9c4\n"   /* xDesc */
-   /* "HvRD" in ebcdic */
-   "   .short  %0\n"   /* xSize */
-   "   .short  %1\n"   /* xVpdAreasPtrOffset */
-   "   .llong  naca\n" /* xSlicNacaAddr */
-   "   .long   lparMapPhys\n"  /* xMsNucDataOffset */
-   "   .long   0\n"/* xRsvd1 */
-   "   .short  %2\n"   /* xFlags */
-   "   .short  4\n"/* xVrmIndex  - v5r2m0 */
-   "   .short  3\n"/* xMinSupportedPlicVrmIndex - v5r1m0 */
-   "   .short  3\n"/* xMinCompatablePlicVrmIndex - v5r1m0 
*/
-   "   .long   0xd38995a4\n"   /* xVrmName */
-   "   .long   0xa740f24b\n"   /*   "Linux 2.4.64" ebcdic */
-   "   .long   0xf44bf6f4\n"
-   "   . = hvReleaseData + %0\n"
-   "   .previous\n"
-   : : "i"(sizeof(hvReleaseData)),
-   "i"(offsetof(struct naca_struct, xItVpdAreas)),
-   "i"(HVREL_TAGSINACTIVE /* tags inactive, 64 bit, */
-  /* shared processors, HMT allowed */
-   | 6), /* TEMP: This allows non-GA drivers */
-   "i"(KERNELBASE)
-   );
-}
-
-struct LparMap __attribute__((aligned (16))) xLparMap = {
-   .xNumberEsids = HvEsidsToMap,
-   .xNumberRanges = HvRangesToMap,
- 

Re: [patch] Real-Time Preemption, -RT-2.6.13-rc6-V0.7.53-11

2005-08-16 Thread David Brownell
> > > Interrupts are disabled during usb_hcd_giveback_urb because that's how 
> > > it was done originally and nobody has made an effort to remove this 
> > > assumption from the USB device drivers.

Also Host Controller Drivers (HCDs).  You do sort of have to
remember who's calling this routine.  It's normally an HCD in
the middle of its IRQ processing, tending hardware.

I'd actually say the reason that has IRQs disabled is because
of the amount of work that would have been involved in changing
that assumption ...  I actually did look at what it'd take to
let IRQs be enabled during USB completion callbacks a while back,
and concluded it'd be a lot of work for hardly any return.


> > >   There's no real reason for it 
> > > other than historical inertia.  It's not done for serialization -- 
> > > there's no need for serialization since an URB can't be resubmitted 
> > > before the previous callback occurs (unless a driver is badly broken).  
> > > The "detached" method is used simply to avoid an extra pair of 
> > > enable/disable instructions.
> > 
> > so we can remove it altogether, via the patch below?

Sounds dangerous to me.


> > (If there's any 
> > unsafe driver, it should already be unsafe on SMP, and with the 
> > proliferation of HT and dual-core CPUs, SMP will be the norm within a 
> > year or so - so the sooner we trigger any breakages, the better i 
> > guess.)
> > 
> > i'll give it a whirl in the -RT tree.
>
> In general yes, the patch should be okay.  But there are a few things to
> check for.  Perhaps most of the USB drivers don't care whether interrupts
> are enabled or not in their completion routines.

And in general, all drivers have been _allowed_ to know that IRQs are
disabled in completion handlers ever since the earliest 2.2 kernels
that included USB support.

Changes like that -- interactions between at least three obvious
subsystems (usbcore, usb drivers, hcds) and lots of unobvious ones
(whoever the drivers talk to) -- sound rather error prone to me.
Worth taking very cautiously, with lots of regression testing of
stress loads on some of the funkier hardware.


Not that I'm deeply opposed to such changes, you understand, but
there seem to be three choices here:

  1 ALWAYS complete() with IRQs disabled

  2 NEVER complete() with them disabled

  3 SOMETIMEs complete() with them disabled.

Right now we're with #1 which is simple, consistent and guaranteed.

We couldn't switch to #2 with patches that simple.  They'd in fact
be rather involved, because there is logic like "If the endpoint's
queue is empty when the completion handler returns, then deschedule
that queueue" inside IRQ handlers.  Basic things, like correctness,
for periodic scheduling depend on such logic.

And I don't see much point to #3.  It's got all the DIS-advantages
of #1 and #2 and the advantages of neither ...

- Dave

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.4 and 2.6 kernel module

2005-08-16 Thread Fong Vang
Found the answer by googling further.  It's been renamed to vermagic.

   strings reiserfs.ko|grep vermagic
   vermagic=2.6.9-11.EL 586 REGPARM 4KSTACKS gcc-3.4


On 8/16/05, Fong Vang <[EMAIL PROTECTED]> wrote:
> In the 2.4 kernel, modules contain the "kernel_version" identification
> in the module itself.  This is an example from the 2.4.18 reiserfs
> kernel module:
> 
> kernel_version=2.4.18-27.7.xbigmem
> using_checksums=1
> description=ReiserFS journaled filesystem
> author=Hans Reiser <[EMAIL PROTECTED]>
> license=GPL
> kernel_version=2.4.18-27.7.xbigmem
> using_checksums=1
> 
> 
> This ID doesn't seem to exist anymore in the 2.6 kernel.  How does a
> 2.6 kernel know if a module is compatible?
> 
> Thanks for any help.
>
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


compiling only one module in kernel version 2.6?

2005-08-16 Thread Fong Vang
What's the easiest way to compile just one module in the Linux 2.6 kernel tree?

This no longer seem to work:

  $ cd /usr/src/linux
  $ make SUBDIRS=fs/reiserfs modules
   Building modules, stage 2.
   MODPOST

  I don't see any .ko generated.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [rfc][patch] API for timer hooks

2005-08-16 Thread Lee Revell
On Wed, 2005-08-17 at 00:21 +0400, Stas Sergeev wrote:
> 1. It needs the higher interrupt frequency.
> Since there seem to be no API to change
> the timer frequency at runtime, the driver
> does this itself. Now I have googled out
> the thread 

Wow, your driver implements bass and treble controls by varying the
frequency of the timer interrupt.  That's a neat hack, but I'd expect it
to raise a few eyebrows if it's submitted for mainline...

Lee

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


2.4 and 2.6 kernel module

2005-08-16 Thread Fong Vang
In the 2.4 kernel, modules contain the "kernel_version" identification
in the module itself.  This is an example from the 2.4.18 reiserfs
kernel module:

kernel_version=2.4.18-27.7.xbigmem
using_checksums=1
description=ReiserFS journaled filesystem
author=Hans Reiser <[EMAIL PROTECTED]>
license=GPL
kernel_version=2.4.18-27.7.xbigmem
using_checksums=1


This ID doesn't seem to exist anymore in the 2.6 kernel.  How does a
2.6 kernel know if a module is compatible?

Thanks for any help.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: rcu read-side protection

2005-08-16 Thread Paul E. McKenney
On Tue, Aug 16, 2005 at 05:09:29PM -0700, Suzanne Wood wrote:
[ . . . ]
> A read-side critical section is marked to protect the dereference of the 
> dn_ptr and assignment to dn_db which is a pointer to a dn_dev.  (struct 
> net_device is defined in /linux/netdevice.h and its dn_ptr in 
> /include/net/dn_dev.h)  Should this rcu-protection be extended to the line 
> following rcu_read_lock()?  Even though use_long is a simple char, it 
> appears to be a member of an rcu-protected structure.

Looks to me that this could indeed be a problem -- the structure
pointed to by dn_db could potentially be freed immediately after the
rcu_read_unlock(), unless there is some other non-obvious locking
mechanism protecting it.  In which case, why the rcu_read_lock()
and rcu_read_unlock()...

Thanx, Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: PowerOP 0/3: System power operating point management API

2005-08-16 Thread Todd Poynor

Dominik Brodowski wrote:

A small add-on:

We need to make sure that we're capable of handling smart CPUs like Transmeta
Crusoe processors in a sane way. This means



b)  Setting of "values"



is optional if the hardware itself can be set to a min/max value (step a
above in previous mail).


Although I haven't looked into the Crusoe processor support, it may be 
that there is a different set of power parameters, not cpu speed 
directly, that are appropriate to manage on these platforms (after a 
brief look, seems to be a range of frequencies and some sort of flags)? 
 If so, these sorts of machine-specific power parameters are what 
PowerOP is trying to address, allowing management of the underlying 
machine-specific stuff to upper layers that may be presenting an 
abstracted view of power/performance, such as CPU speed or speed ranges, 
to the user.  Thanks,


--
Todd
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC,PATCH] Use RCU to protect tasklist for unicast signals

2005-08-16 Thread Paul E. McKenney
On Tue, Aug 16, 2005 at 10:07:14AM -0700, Paul E. McKenney wrote:
> On Tue, Aug 16, 2005 at 03:56:05PM +0400, Oleg Nesterov wrote:
> > Paul E. McKenney wrote:
> > >
> > > OK, the attached instead revalidates that the task struct still references
> > > the sighand_struct after obtaining the lock
> > 
> > Personally I think this is a way to go. A nitpick suggestion,
> > could you make a separate function (say, lock_task_sighand)
> > which does all this job?
> 
> Sounds good, will do!
> 
> The other thing that jumped out at me is that signals are very different
> animals from a locking viewpoint depending on whether they are:
> 
> 1.ignored,
> 
> 2.caught by a single thread,
> 
> 3.fatal to multiple threads/processes (though I don't know
>   of anything that shares sighand_struct between separate
>   processes), or
> 
> 4.otherwise global to multiple threads/processes (such as
>   SIGSTOP and SIGCONT).
> 
> And there are probably other distinctions that I have not yet caught
> on to.
> 
> One way to approach this would be to make your suggested lock_task_sighand()
> look at the signal and acquire the appropriate locks.  If, having acquired
> a given set of locks, it found that the needed set had changed (e.g., due
> to racing exec() or sigaction()), then it drops the locks and retries.
> 
> Does this make sense?
> 
> This approach assumes that realtime latency (of the kill() operation
> itself) is critical only cases #1 and #2 above.  This makes sense to me,
> but some of you might know of situations where #3 and #4 are important.
> But I am hoping not.  ;-)

OK, for this sort of approach to work, lock_task_sighand() must take and
return some sort of mask indicating what locks are held.  The mask returned
by lock_task_sighand() would then be passed to an unlock_task_sighand().

Another alternative would be to make a macro that allowed an arbitrary
statement to be wrapped up in it.

Neither of these are as appealing as I would like -- other ideas?

I have not yet attacked this in the attached patch.

> > > > and there are some remaining problems
> > > > that I need to sort out, including:
> > > ...
> > >
> > > o Some of the functions invoked by __group_send_sig_info(),
> > >   including handle_stop_signal(), momentarily drop ->siglock.
> > 
> > Just to be sure that one point doesn't escape your attention, this:
> > 
> > > +++ 
> > > linux-2.6.13-rc4-realtime-preempt-V0.7.53-01-tasklistRCU/kernel/signal.c  
> > > 2005-08-14 19:53:28.0 -0700
> > > @@ -328,9 +328,11 @@ void __exit_sighand(struct task_struct *
> > >   struct sighand_struct * sighand = tsk->sighand;
> > >  
> > >   /* Ok, we're done with the signal handlers */
> > > + spin_lock(&sighand->siglock);
> > >   tsk->sighand = NULL;
> > >   if (atomic_dec_and_test(&sighand->count))
> > > - kmem_cache_free(sighand_cachep, sighand);
> > > + sighand_free(sighand);
> > > + spin_unlock(&sighand->siglock);
> > 
> > is not enough (and unneeded). Unless I missed something, we have
> > a race:
> > 
> > release_task:
> > 
> > __exit_signal:
> > spin_lock(sighand);
> > spin_unlock(sighand);
> > flush_sigqueue(&sig->shared_pending);
> > kmem_cache_free(tsk->signal);
> > // here comes 
> > group_send_sig_info(), locks ->sighand,
> > // delivers the signal 
> > to the ->shared_pending.
> > // siginfo leaked, or 
> > crash.
> > __exit_sighand:
> > spin_lock(sighand);
> > tsk->sighand = NULL;
> > // too late 
> > 
> > I think that release_task() should not use __exit_sighand()
> > at all. Instead, __exit_signal() should set tsk->sighand = NULL
> > under ->sighand->lock.
> 
> Will look into this -- I was inserting the locking to handle a race with
> my revalidation.  It looks like I also need to pay some more attention
> to the race with exiting tasks, good catch!  Your suggestion of invoking
> __exit_signal() from under siglock within __exit_signal() sounds good
> at first glance, will think it through.

This turned out to be easy, the attached patch covers it.

> > >  int group_send_sig_info(int sig, struct siginfo *info, struct 
> > > task_struct *p)
> > >  {
> > >   unsigned long flags;
> > > + struct sighand_struct *sp;
> > >   int ret;
> > >
> > > +retry:
> > >   ret = check_kill_permission(sig, info, p);
> > > - if (!ret && sig && p->sighand) {
> > > + if (!ret && sig && (sp = p->sighand)) {
> > >   if (!get_task_struct_rcu(p)) {
> > >   return -ESRCH;
> > >   }
> > > - spin_lock_irqsave(&p->sighand->siglock, flags);
> > > + spin_lock_irqsave(&sp->siglock, flags);
> > > + if (p->sighand != sp) {
> > > + spin_unlock_irqrestore(&sp->siglock, flags);
> > > + put_task_struct(p);
>

[PATCH] [Fwd: Console locking and blanking]

2005-08-16 Thread Benjamin Herrenschmidt
I've had WARN_CONSOLE_UNLOCKED warnings when calling TIOCLINUX 
TIOCL_BLANKSCREEN and TIOCL_UNBLANKSCREEN.

(I'm blind and I use a braille display. I use those functions to blank 
my laptop's screen so people don't read it, and hopefully to conserve 
power.)

The warnings are from these places:
do_blank_screen at drivers/char/vt.c:2754 (Not tainted)
save_screen at drivers/char/vt.c:575 (Not tainted)
do_unblank_screen at drivers/char/vt.c:2822 (Not tainted)
set_palette at drivers/char/vt.c:2908 (Not tainted)

At a glance I would think the following patch ought to fix that. Tested on 
one machine. Could you please tell me if this is correct and/or forward 
the patch where appropriate...

Signed-off-by: Stéphane Doyon <[EMAIL PROTECTED]>
Signed-off-by: Benjamin Herrenschmidt <[EMAIL PROTECTED]>

--- linux-2.6.12/drivers/char/vt.c.orig 2005-08-16 15:39:14.0 -0400
+++ linux-2.6.12/drivers/char/vt.c  2005-08-16 15:41:04.0 -0400
@@ -2272,7 +2272,9 @@
ret = paste_selection(tty);
break;
case TIOCL_UNBLANKSCREEN:
+   acquire_console_sem();
unblank_screen();
+   release_console_sem();
break;
case TIOCL_SELLOADLUT:
ret = sel_loadlut(p);
@@ -2317,8 +2319,10 @@
}
break;
case TIOCL_BLANKSCREEN: /* until explicitly unblanked, not only 
poked */
+   acquire_console_sem();
ignore_poke = 1;
do_blank_screen(0);
+   release_console_sem();
break;
case TIOCL_BLANKEDSCREEN:
ret = console_blanked;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: PowerOP 0/3: System power operating point management API

2005-08-16 Thread Todd Poynor

Dominik Brodowski wrote:


First, the table interface you suggest is ugly. If there's indeed the need for
such an abstraction, I'd favour something like


I'm planning to adopt the previous suggestions of an opaque data 
structure and stop trying to have any generic structure to it.  I'll try 
to leave dependency checking etc. to the upper layers as much as 
possible, since platforms vary greatly in this and so do the needs of 
different PM s/w stacks.



Secondly, you do not adress the cross-relationships between operation points
correctly. If you change the CPU frequency, you may have to switch other
(memory, video) settings; you might even have to validate the frequency
settings for these or even additional reasons (thermal and battery reasons -
ACPI _PPC).


This lowest layer basically assumes that upper-layer software has 
created an appropriate operating point (for example, in DPM we pretty 
much require a system designer to create operating points that match the 
h/w specs and don't go to great lengths to encode rules about this), 
and/or will call driver notifiers etc. as needed to adapt to the 
changes.  Although there may be some sanity checking appropriate at the 
PowerOP level, cpufreq, DPM, etc. can for the most part continue to 
handle the larger issues of how valid operating points are constructed, 
driver callbacks, etc.  If you do want to handle various dependencies at 
the PowerOP layer then there's nothing that prevents that, but PM 
frameworks tend to embody assumptions about how frequently operating 
points will change and in what contexts (interrupt, idle...), and this 
can influence the code for such things.



Thirdly, who is to decide on the power management settings? The first and
intuitive answer is the kernel. Therefore, kernel-space cpufreq governors
exist. Only under rare circumstances, you want full userspace control --
that's what the userspace cpufreq governor is for.


Also something left to the existing upper layers; PowerOP isn't intended 
to handle any of that.  In the embedded space we usually let the system 
designer choose operating points supported by their h/w vendor and that 
match their particular system states (hardware enabled at any point in 
time, type and power/performance needs of software currently running). 
We do recommend that a userspace power policy manager be the component 
in charge of PM settings, based on messages from drivers and other apps 
on the state of the system.  And so that userspace component activates 
the operating point (or set of operating points in the case of DPM) 
appropriate for current state.



Foruthly, the code duplication which your implementation leads to is obvious
for the speedstep-centrino case. 


We could move the tables of valid cpu speeds and corresponding voltages 
down to the PowerOP level, and there would probably be little 
duplication at that point (in fact, with the current patch there's not a 
lot of duplication since the actual MSR access was moved to PowerOP and 
PowerOP contains little else, but both levels know how to understand the 
MSR format, and a more aggressive port to PowerOP could do away with that).


Your suggestions of changes to cpufreq governors and policies to handle 
governance of non-cpu-speed parameters sound interesting, and I'd be 
happy to help figure out what to do about those vs. the lower machine 
access layer I've discussed up until now.  I'll think more about this 
real soon now.  Thanks,


--
Todd
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] ppc32: removed usage of

2005-08-16 Thread Paul Mackerras
Kumar Gala writes:

> Made  a dummy include like it is in ppc64 and removed any
> users if it in arch/ppc.

Why can't we just delete asm-ppc/segment.h (and asm-ppc64/segment.h
too, for that matter) entirely?

Paul.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC - 0/9] Generic timekeeping subsystem (v. B5)

2005-08-16 Thread john stultz
On Wed, 2005-08-17 at 02:28 +0200, Roman Zippel wrote:

> Let's look at the example patch below. I played a little with some code 
> and this just demonstrates an accurate conversion of the tick/freq values 
> into the internal values in ns resolution. It does a little more work 
> ahead, but the interrupt code becomes simpler and most important it 
> doesn't require any expensive 64bit math and you can't get it much more 
> accurate than that. The current gettimeofday code for tick based sources 
> is really cheap and I'd like to keep that (i.e. free of 64bit math). The 
> accuracy can and should be fixed (the change to timespec wasn't really a 
> major improvement, as it introduced new rounding errors).

Hmm. It could really use some comments, but it looks interesting. Let me
continue reading it and play around with it some more. 

> The other thing the example demonstrates is the interface from NTP to 
> timer code. The NTP code provides the basic parameters and then leaves it 
> to the clock implementation how they apply. The adjustment and phase 
> variables are really private variables. 

If they are private clock variables, why are they in the generic
timer.c? Everyone is using it in exactly the same way, no?  Why do you
oppose having the adjustment and phase values behind an ntp_function()
interface?

Maybe to focus this productively, I'll try to step back and outline the
goals at a high level and you can address those. 

My Assumptions:
1. adjtimex() sets/gets NTP state values
2. Every tick we adjust those state values
3. Every tick we use those values to make a nanosecond adjustment to
time.
4. Those state values are otherwise unused.

Goals:
1. Isolate NTP code to clean up the tick based timekeeping, reducing the
spaghetti-like code interactions.
2. Add interfaces to allow for continuous, rather then tick based,
adjustments (much how ppc64 does currently, only shareable).


thanks
-john


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


routes disappear

2005-08-16 Thread David Lang
I've been having an intermittent problem over the last couple of years 
where the addition of a network interface will cause all routes on the box 
to vanish.


the systems are a stripped down Debian 3.0 build with a 2.6.7 kernel and 
the vast majority of the time they work just fine.


however once in a while I get a config where enabling an interface causes 
netstat (and /proc/net/route) to report no routes. The system continues to 
function so the routes are still there somehow, but they aren't reported.


the latest box to do this has two interfaces (this one has tg3 interfaces, 
but I've also seen this on adaptec starfire, tulip, and 3com nics) 
192.168.242.142

192.168.210.219

if I boot the box with the interfaces disabled and do ifup individually it 
sometimes works (I haven't nailed down the difference between when it does 
and when it doesn't), if I leave them enabled at boot by the time I can 
login the routing table shows blank.


I have a few days to fiddle with this system before I need to use it, 
where should I look to dig up more info?


syslog shows the following
Aug 16 16:33:04 scribe1a-p kernel: Adding 2048276k swap on /dev/sda1. 
Priority:-1 extents:1

Aug 16 16:33:04 scribe1a-p kernel: ttyS2: LSR safety check engaged!
Aug 16 16:33:04 scribe1a-p kernel: ttyS2: LSR safety check engaged!
Aug 16 16:33:04 scribe1a-p kernel: ttyS3: LSR safety check engaged!
Aug 16 16:33:04 scribe1a-p kernel: ttyS3: LSR safety check engaged!
Aug 16 16:33:04 scribe1a-p kernel: tg3: eth0: Link is up at 1000 Mbps, 
full duplex.
Aug 16 16:33:04 scribe1a-p kernel: tg3: eth0: Flow control is on for TX 
and on for RX.
Aug 16 16:33:04 scribe1a-p kernel: tg3: eth1: Link is up at 1000 Mbps, 
full duplex.
Aug 16 16:33:04 scribe1a-p kernel: tg3: eth1: Flow control is off for TX 
and off for RX.
Aug 16 16:33:04 scribe1a-p kernel: process `syslogd' is using obsolete 
setsockopt SO_BSDCOMPAT
Aug 16 16:33:05 scribe1a-p /usr/sbin/gpm[191]: Detected EXPS/2 protocol 
mouse.
Aug 16 16:33:07 scribe1a-p ntpd[298]: ntpd 4.1.0 Mon Mar 25 23:39:47 UTC 
2002 (2)

Aug 16 16:33:07 scribe1a-p ntpd[298]: precision = 11 usec
Aug 16 16:33:07 scribe1a-p ntpd[298]: kernel time discipline status 0040
Aug 16 16:33:07 scribe1a-p ntpd[298]: attempt to configure invalid address 
127.127.1.0
Aug 16 16:33:07 scribe1a-p /usr/sbin/cron[303]: (CRON) INFO (pidfile fd = 
3)

Aug 16 16:33:07 scribe1a-p /usr/sbin/cron[304]: (CRON) STARTUP (fork ok)
Aug 16 16:33:07 scribe1a-p /usr/sbin/cron[304]: (CRON) INFO (Running 
@reboot jobs)
Aug 16 16:33:16 scribe1a-p ntpd[298]: sendto(192.168.252.132): Network is 
unreachable
Aug 16 16:33:23 scribe1a-p ntpd[298]: sendto(192.168.252.131): Network is 
unreachable
Aug 16 16:33:36 scribe1a-p kernel: 192.168.242.142 sent an invalid ICMP 
type 3, code 1 error to a broadcast: 192.168.

242.255 on lo
Aug 16 16:33:36 scribe1a-p kernel: 192.168.242.142 sent an invalid ICMP 
type 3, code 1 error to a broadcast: 192.168.

242.255 on lo
Aug 16 16:33:39 scribe1a-p kernel: tg3: eth0: Link is up at 1000 Mbps, 
full duplex.
Aug 16 16:33:39 scribe1a-p kernel: tg3: eth0: Flow control is on for TX 
and on for RX.
Aug 16 16:33:42 scribe1a-p kernel: 192.168.210.216 sent an invalid ICMP 
type 3, code 1 error to a broadcast: 192.168.

210.255 on lo
Aug 16 16:33:42 scribe1a-p kernel: 192.168.210.216 sent an invalid ICMP 
type 3, code 1 error to a broadcast: 192.168.

210.255 on lo
Aug 16 16:33:43 scribe1a-p kernel: tg3: eth1: Link is up at 1000 Mbps, 
full duplex.
Aug 16 16:33:43 scribe1a-p kernel: tg3: eth1: Flow control is off for TX 
and off for RX.
Aug 16 16:33:55 scribe1a-p kernel: tg3: eth1: Link is up at 1000 Mbps, 
full duplex.
Aug 16 16:33:55 scribe1a-p kernel: tg3: eth1: Flow control is off for TX 
and off for RX.
Aug 16 16:34:01 scribe1a-p /USR/SBIN/CRON[716]: (root) CMD (touch 
/tmp/.crond_running >/dev/null 2>/dev/null)
Aug 16 16:34:02 scribe1a-p kernel: 192.168.242.142 sent an invalid ICMP 
type 3, code 1 error to a broadcast: 192.168.

242.255 on lo
Aug 16 16:34:02 scribe1a-p kernel: 192.168.242.142 sent an invalid ICMP 
type 3, code 1 error to a broadcast: 192.168.

242.255 on lo
Aug 16 16:34:04 scribe1a-p kernel: tg3: eth0: Link is up at 1000 Mbps, 
full duplex.
Aug 16 16:34:04 scribe1a-p kernel: tg3: eth0: Flow control is on for TX 
and on for RX.
Aug 16 16:35:01 scribe1a-p /USR/SBIN/CRON[1126]: (root) CMD 
(/usr/local/etc/newlogs >/dev/null 2>/dev/null)
Aug 16 16:35:01 scribe1a-p /USR/SBIN/CRON[1128]: (root) CMD (touch 
/tmp/.crond_running >/dev/null 2>/dev/null)



David Lang


--
There are two ways of constructing a software design. One way is to make it so 
simple that there are obviously no deficiencies. And the other way is to make 
it so complicated that there are no obvious deficiencies.
 -- C.A.R. Hoare
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  ht

[patch] KGDB for Real-Time Preemption systems

2005-08-16 Thread George Anzinger

I have put a version of KGDB for x86 RT kernels here:
http://source.mvista.com/~ganzinger/

The common_kgdb_cfi_ stuff creates debug records for entry.S and 
friends so that you can "bt" through them.  Apply in this order:

Ingo's patch
kgdb-ga-rt.patch
common_kgdb_cfi_annotations.patch

This is, more or less, the same kgdb that is in Andrew's mm tree changed 
to fix the RT issues.

--
George Anzinger   george@mvista.com
HRT (High-res-timers):  http://sourceforge.net/projects/high-res-timers/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC][PATCH 2.6.13-rc6] add Dell Systems Management Base Driver (dcdbas) with sysfs support

2005-08-16 Thread Michael E Brown
On Wed, 2005-08-17 at 02:23 +0200, Andi Kleen wrote:
> <[EMAIL PROTECTED]> writes:
> > 2) Dell OpenManage
> > The main use of this driver by openmanage will be to read the System 
> > Event Log that BIOS keeps. Here are some other random relevant points:
> 
> Are there machine check events from the last boot in that event log? 

I don't know. Either Doug or Abhay may, though. If they don't I can ask
the BIOS guys.

--
Michael

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [UPDATE PATCH] push rounding up of relative request to schedule_timeout()

2005-08-16 Thread George Anzinger

Nishanth Aravamudan wrote:

On 04.08.2005 [09:45:55 -0700], George Anzinger wrote:

Uh... PLEASE tell me you are NOT changing timespec_to_jiffies() (and 
timeval_to_jiffies() to add 1.  This is NOT the right thing to do.  For 
repeating times (see setitimer code) we need the actual time as we KNOW 
where the jiffies edge is in the repeating case.  The +1 is needed ONLY 
for the initial time, not the repeating time.



See:
http://marc.theaimsgroup.com/?l=linux-kernel&m=112208357906156&w=2



I followed that thread, George, but I think it's a different case with
schedule_timeout() [maybe this indicates drivers/other users should
maybe be using itimers, but I'll get to that in a sec].


I think I miss understood back then :).



With schedule_timeout(), we are just given a relative jiffies value. We
have no context as to which task is requesting the delay, per se,
meaning we don't (can't) know from the interface whether this is the
first delay in a sequence, or a brand new one, without changing all
users to have some sort of control structure. The callers of
schedule_timeout() don't even get a pointer to the timer added
internally.

So, adding 1 to all sleeps seems like it might be reasonable, as looping
sleeps probably need to use a different interface. I had worked a bit
ago on something like poll_event() with the kernel-janitors group, which
would abstract out the repeated sleeps. Basically wait_event() without
wait-queues... Maybe we could make such an interface just use itimers?
I've attached my old patch for poll_event(), just for reference.


I think not.  itimers is really pointed at a particular system call and 
has resources in the task structure to do it.  These would be hard to 
share...


My point, I guess, is that in the schedule_timeout() case, we don't know
where the jiffies edge is, as we either expire or receive a wait-queue
event/signal, we never mod_timer() the internal timer... So we have to
assume that we need to sleep the request. But maybe Roman's idea of
sleeping a certain number of jiffy edges is sufficient. I am not yet
convinced driver authors want/need such an interface, though, still
thinking it over.


IMNSHO we should not get too parental with kernel only interfaces. 
Adding 1 is easy enough for the caller and even easier to explain in the 
instructions (i.e. this call sleeps for X jiffies edges).  This allows 
the caller to do more if needed and, should he ever just want to sync to 
the next jiffie he does not have to deal with backing out that +1.




--
George Anzinger   george@mvista.com
HRT (High-res-timers):  http://sourceforge.net/projects/high-res-timers/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC - 0/9] Generic timekeeping subsystem (v. B5)

2005-08-16 Thread Roman Zippel
Hi,

On Mon, 15 Aug 2005, john stultz wrote:

> > Please provide the right abstractions, e.g. leave the gettimeofday 
> > implementation to the timesource and use some helper (template) functions 
> > to do the actual work. Basically as long as you have a cycle_t in the 
> > common code something is really wrong, this code belongs in the continous 
> > clock template.
> 
> I'm not sure I agree. By pushing all the gettimeofday logic behind the
> timesource or clock class you describe above, you end up with lots of
> duplicated and error prone code.

That's there template code comes in, so that the drivers need only to add 
little code themselves. The point is that every time source has different 
requirements and if we want efficient implementations, too much common 
code doesn't really help. It's a tradeoff.

Let's look at the example patch below. I played a little with some code 
and this just demonstrates an accurate conversion of the tick/freq values 
into the internal values in ns resolution. It does a little more work 
ahead, but the interrupt code becomes simpler and most important it 
doesn't require any expensive 64bit math and you can't get it much more 
accurate than that. The current gettimeofday code for tick based sources 
is really cheap and I'd like to keep that (i.e. free of 64bit math). The 
accuracy can and should be fixed (the change to timespec wasn't really a 
major improvement, as it introduced new rounding errors).

The other thing the example demonstrates is the interface from NTP to 
timer code. The NTP code provides the basic parameters and then leaves it 
to the clock implementation how they apply. The adjustment and phase 
variables are really private variables. In the code below it's rather 
easily possible to make HZ another parameter and you can have clocks 
running at different frequencies (e.g. to implement dynamic ticks). A low 
frequency timer provides the wall clock and a separate timer takes care of 
the kernel timer.

The code below needs of course a little more work, currently I use it to 
collect some data on how the current code behaves. I'll add the adjustment 
code and then I'll see how it compares to it.

> > This also allows better implementations, e.g. gettimeofday can be done in 
> > a single step instead of two using a single lock instead of two.
> 
> This is a miss-characterization. In most cases the continuous
> gettimeofday is done in a single step with a single lock. Although it
> does have the flexibility to allow for more complex setups, as well as
> the ability to opt out and use the existing tick based code. 

You have it the wrong way around. In the general case you need two locks 
and only in some cases can you optimize one away. To evaluate the 
complexity of the design you really have to look at the general case for 
each component. You're rather focused on just the best cases.

bye, Roman

---

 kernel/time.c  |3 ++-
 kernel/timer.c |   53 +
 2 files changed, 55 insertions(+), 1 deletion(-)

Index: linux-2.6/kernel/time.c
===
--- linux-2.6.orig/kernel/time.c2005-07-13 03:18:04.0 +0200
+++ linux-2.6/kernel/time.c 2005-08-16 01:37:20.0 +0200
@@ -366,8 +366,9 @@ int do_adjtimex(struct timex *txc)
} /* txc->modes & ADJ_OFFSET */
if (txc->modes & ADJ_TICK) {
tick_usec = txc->tick;
-   tick_nsec = TICK_USEC_TO_NSEC(tick_usec);
}
+   if (txc->modes & (ADJ_FREQUENCY|ADJ_OFFSET|ADJ_TICK))
+   time_recalc();
} /* txc->modes */
 leave: if ((time_status & (STA_UNSYNC|STA_CLOCKERR)) != 0
|| ((time_status & (STA_PPSFREQ|STA_PPSTIME)) != 0
Index: linux-2.6/kernel/timer.c
===
--- linux-2.6.orig/kernel/timer.c   2005-07-13 03:18:04.0 +0200
+++ linux-2.6/kernel/timer.c2005-08-16 23:10:53.0 +0200
@@ -559,6 +559,7 @@ found:
  */
 unsigned long tick_usec = TICK_USEC;   /* USER_HZ period (usec) */
 unsigned long tick_nsec = TICK_NSEC;   /* ACTHZ period (nsec) */
+unsigned long tick_nsec2 = TICK_NSEC;
 
 /* 
  * The current time 
@@ -569,6 +570,7 @@ unsigned long tick_nsec = TICK_NSEC;/*
  * the usual normalization.
  */
 struct timespec xtime __attribute__ ((aligned (16)));
+struct timespec xtime2 __attribute__ ((aligned (16)));
 struct timespec wall_to_monotonic __attribute__ ((aligned (16)));
 
 EXPORT_SYMBOL(xtime);
@@ -596,6 +598,33 @@ static long time_adj;  /* tick adjust (
 long time_reftime; /* time at last adjustment (s)  */
 long time_adjust;
 long time_next_adjust;
+static long time_adj2, time_adj2_cur, time_freq_adj2, time_freq_phase2, 
time_phase2;
+
+void time_recalc(void)
+{
+   long f, t;
+   tick_nsec = TICK_USEC_TO_NSEC(tick_usec);
+
+

Re: [patch 3/7] PCI: fix quirk-6700-fix.patch

2005-08-16 Thread Andrew Morton
Greg Kroah-Hartman <[EMAIL PROTECTED]> wrote:
>
> From: Andrew Morton <[EMAIL PROTECTED]>
> 
> drivers/built-in.o(.text+0x32c3): In function `quirk_pcie_pxh':
> /usr/src/25/drivers/pci/quirks.c:1312: undefined reference to 
> `disable_msi_mode'
> 
> Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
> Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>
> 
> ---
>  drivers/pci/pci.h |6 ++
>  1 files changed, 6 insertions(+)
> 
> --- gregkh-2.6.orig/drivers/pci/pci.h 2005-08-16 14:57:46.0 -0700
> +++ gregkh-2.6/drivers/pci/pci.h  2005-08-16 14:57:47.0 -0700
> @@ -46,7 +46,13 @@ extern int pci_msi_quirk;
>  #else
>  #define pci_msi_quirk 0
>  #endif
> +
> +#ifdef CONFIG_PCI_MSI
>  void disable_msi_mode(struct pci_dev *dev, int pos, int type);
> +#else
> +static inline void disable_msi_mode(struct pci_dev *dev, int pos, int type) 
> { }
> +#endif
> +
>  extern int pcie_mch_quirk;
>  extern struct device_attribute pci_dev_attrs[];
>  extern struct class_device_attribute class_device_attr_cpuaffinity;
> 

hm.  I normally fold crappy little patches like this into the main patch
before sending it Linuswards.  The submitter gets a mention in the s-o-b
record and perhaps a one-line description if the fix was less than utterly
trivial.

That's one advantage of the patch-scripts/quilt approach: these little
post-facto fixups don't pollute the upstream changelog record.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 8/14] i386 / Add a per cpu gdt accessor

2005-08-16 Thread Chris Wright
* Andi Kleen ([EMAIL PROTECTED]) wrote:
> On Tue, Aug 16, 2005 at 05:07:36PM -0700, Chris Wright wrote:
> > * Andi Kleen ([EMAIL PROTECTED]) wrote:
> > > On Wed, Aug 10, 2005 at 09:56:40PM -0700, [EMAIL PROTECTED] wrote:
> > > > Add an accessor function for getting the per-CPU gdt.  Callee must 
> > > > already
> > > > have the CPU.
> > > 
> > > What is the accessor good for? 
> > > 
> > > It looks just like code obfuscation to me.
> > 
> > Xen handles gdt differently (one page per cpu instead of per_cpu data).
> > So this is for handling that access cleanly.
> 
> It would be much cleaner to use a per_cpu pointer then and just allocate
> it differently.

OK, that's easily done, but it will add extra indirection.  This currently
changes nothing for common case.  The cpu_gdt_descr effectively has that
address cached already (just not as per_cpu).
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/14] i386 / Make write ldt return error code

2005-08-16 Thread Chris Wright
* Andi Kleen ([EMAIL PROTECTED]) wrote:
> On Tue, Aug 16, 2005 at 05:06:18PM -0700, Chris Wright wrote:
> > In this case the callers do propagate the error (unless you mean
> > userspace doesn't check return value from syscall, which is same problem
> > if copy_from_user failed, for example).  Xen has done some more wrapping
> 
> Nothing checks them in user space.
> 
> Also how would you handle them anyways? It just doesn't make sense.

Yes, I see your point, although copy_from_user failing has similar issue
if userspace isn't checking errors.  But this one is not critical.

thanks,
-chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC][PATCH 2.6.13-rc6] add Dell Systems Management Base Driver (dcdbas) with sysfs support

2005-08-16 Thread Andi Kleen
<[EMAIL PROTECTED]> writes:
> 2) Dell OpenManage
> The main use of this driver by openmanage will be to read the System 
> Event Log that BIOS keeps. Here are some other random relevant points:

Are there machine check events from the last boot in that event log? 

If yes it would be extremly cool to feed this data into mcelog 
using the /dev/mcelog device after boot up. It probably would
need a few functions in exported in arch/x86_64/kernel/mce.c,
but I would be fine with that. The advantage would be that
all machine checks would be in a common log and can be easily 
analyzed by higher level infrastructure (like a cluster manager) 

The code used to dump the MCEs from the hardware registers left over
at boot, but so many BIOS keep bogus data in there that this had to be
turned off.

Only tricky part might be to make sure this data is not logged
twice.

I think it would be better to do this in kernel space if it's
simple enough. In theory mcelog could get a write method too
so that user space could inject events, but that would
have the disadvantage that everybody distribution would need
a magic Dell specific program to just do that. In the kernel it would just
work transparently.

/dev/mcelog only exists on x86-64 right now, but will
probably appear on i386 at some point too.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC - 0/9] Generic timekeeping subsystem (v. B5)

2005-08-16 Thread Christoph Lameter
On Tue, 16 Aug 2005, john stultz wrote:

> That is why I'm suggesting time_interpolator users to move to my code
> (when they're ready, of course :).

Both are basically timesources. That is why I would suggest you upgrade 
the interpolators to timesources. Doing that would enable a gradual 
transition instead of a cutover to a new time subsystem. It should also 
insure that the gains we have made in terms of accuracy of time will be 
preserved in the new system. And the code would be able to use the 
existing proven code that already allows system time with nanosecond 
precision.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 8/14] i386 / Add a per cpu gdt accessor

2005-08-16 Thread Andi Kleen
On Tue, Aug 16, 2005 at 05:07:36PM -0700, Chris Wright wrote:
> * Andi Kleen ([EMAIL PROTECTED]) wrote:
> > On Wed, Aug 10, 2005 at 09:56:40PM -0700, [EMAIL PROTECTED] wrote:
> > > Add an accessor function for getting the per-CPU gdt.  Callee must already
> > > have the CPU.
> > 
> > What is the accessor good for? 
> > 
> > It looks just like code obfuscation to me.
> 
> Xen handles gdt differently (one page per cpu instead of per_cpu data).
> So this is for handling that access cleanly.

It would be much cleaner to use a per_cpu pointer then and just allocate
it differently.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC - 0/9] Generic timekeeping subsystem (v. B5)

2005-08-16 Thread john stultz
On Tue, 2005-08-16 at 17:14 -0700, Christoph Lameter wrote:
> On Tue, 16 Aug 2005, john stultz wrote:
> 
> > This is basically what I do in my patch. I directly apply the NTP
> > adjustment to the timesource interval, and periodically increment the
> > NTP state machine by the timesource interval when we accumulate it.
> 
> Is there some way to tell the NTP code how much the time_interpolator time 
> deviates from xtime?
> 
> If the NTP code would use getnstimeofday or 
> do_gettimeofday then it would already get interpolated time.

That seems a bit backwards, no?

> The curious issue in the current arrangement is that the interpolator 
> knows much more accurately how much time has passed between interrupts 
> than the timer interrupt but it has no time to make that information 
> available to the NTP code.

That is why I'm suggesting time_interpolator users to move to my code
(when they're ready, of course :).

thanks
-john


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC - 0/9] Generic timekeeping subsystem (v. B5)

2005-08-16 Thread Christoph Lameter
On Tue, 16 Aug 2005, john stultz wrote:

> This is basically what I do in my patch. I directly apply the NTP
> adjustment to the timesource interval, and periodically increment the
> NTP state machine by the timesource interval when we accumulate it.

Is there some way to tell the NTP code how much the time_interpolator time 
deviates from xtime?

If the NTP code would use getnstimeofday or 
do_gettimeofday then it would already get interpolated time.

The curious issue in the current arrangement is that the interpolator 
knows much more accurately how much time has passed between interrupts 
than the timer interrupt but it has no time to make that information 
available to the NTP code.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/14] i386 / Make write ldt return error code

2005-08-16 Thread Andi Kleen
On Tue, Aug 16, 2005 at 05:06:18PM -0700, Chris Wright wrote:
> * Andi Kleen ([EMAIL PROTECTED]) wrote:
> > On Wed, Aug 10, 2005 at 09:52:51PM -0700, [EMAIL PROTECTED] wrote:
> > > Xen requires error returns from the hypercall to update LDT entries,
> > > and this generates completely equivalent code on native.
> > 
> > I don't think that is something we want. Nothing in the callers will check
> > the errors anyways. If Xen has such a requirement it should kill
> > the guest when it is violated, otherwise they will be ignored.
> 
> In this case the callers do propagate the error (unless you mean
> userspace doesn't check return value from syscall, which is same problem
> if copy_from_user failed, for example).  Xen has done some more wrapping

Nothing checks them in user space.

Also how would you handle them anyways? It just doesn't make sense.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC - 0/13] NTP cleanup work (v. B5)

2005-08-16 Thread Roman Zippel
Hi,

On Mon, 15 Aug 2005, john stultz wrote:

> > I think most of this is premature cleanup. As it also changes the logic in 
> > small ways, I'm not even sure it qualifies as a cleanup.
> 
> Please, Roman, I'm spending quite a bit of time breaking this up into
> small chunks specifically to help this discussion. Rather then just
> stating that the logic is changed in small ways, could you please be
> specific and point to where that logic has changed and we can fix or
> discuss it.

Well, part of the problem is that you didn't really explain, why your 
logical are better in any way. You broke them out of your big patch and 
they lose their context.
It's probably better to first to understand and agree on the functional 
changes, moving code around can still be done afterwards.

> > For the rest I can't agree on to move everything that aggressively into 
> > the ntp namespace. The kernel clock is controlled via NTP, but how it 
> > actually works has little to do with "network time". 
> 
> Eh? The adjtimex() interface causes a small adjustment to be added or
> removed from the system time each tick. Why should this code not be put
> behind a clear interface?

I don't mind the clear interface...

> > Some of the 
> > parameters are even private clock variables (e.g. time adjustment, phase), 
> > which don't belong in any common code. (I'll expand on that in the next 
> > mail.)
> 
> Again, I'm not understanding your objection. Its exactly because the
> time_adjust and phase values are NTP specific variables that I'm trying
> to move them from the timer.c code into ntp.c

The point is you're starting at the wrong point, first we need a clean 
clock interface, only then should we change the ntp code to it.
(More again in the next mail.)

bye, Roman
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 5/14] i386 / Use early clobber to eliminate rotate in desc

2005-08-16 Thread H. Peter Anvin

Zachary Amsden wrote:


This one in particular is non-optimal looking from C because the 
compiler misses the potential for rotation.  But, composing into 
temporaries and then issuing two writes to memory instead of multiple 
writes within the same word could actually get you a better cycle count, 
and that is something GCC just might be able to do :)




At least i386 and x86-64 gcc should recognize

((foo << x) + (foo >> (32-x)))

... as a 32-bit rotate; similar for 8-, 16- and 64-bit rotates of 
appropriate sized items.  Also, it seems it could just be an inline 
function instead of a macro.


-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 8/14] i386 / Add a per cpu gdt accessor

2005-08-16 Thread Chris Wright
* Andi Kleen ([EMAIL PROTECTED]) wrote:
> On Wed, Aug 10, 2005 at 09:56:40PM -0700, [EMAIL PROTECTED] wrote:
> > Add an accessor function for getting the per-CPU gdt.  Callee must already
> > have the CPU.
> 
> What is the accessor good for? 
> 
> It looks just like code obfuscation to me.

Xen handles gdt differently (one page per cpu instead of per_cpu data).
So this is for handling that access cleanly.

thanks,
-chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/14] i386 / Make write ldt return error code

2005-08-16 Thread Chris Wright
* Andi Kleen ([EMAIL PROTECTED]) wrote:
> On Wed, Aug 10, 2005 at 09:52:51PM -0700, [EMAIL PROTECTED] wrote:
> > Xen requires error returns from the hypercall to update LDT entries,
> > and this generates completely equivalent code on native.
> 
> I don't think that is something we want. Nothing in the callers will check
> the errors anyways. If Xen has such a requirement it should kill
> the guest when it is violated, otherwise they will be ignored.

In this case the callers do propagate the error (unless you mean
userspace doesn't check return value from syscall, which is same problem
if copy_from_user failed, for example).  Xen has done some more wrapping
of the hypercalls to be effectively synchronous exceptions on error.
Keir, Ian, is that preferred method going forward?

thanks,
-chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 5/14] i386 / Use early clobber to eliminate rotate in desc

2005-08-16 Thread Zachary Amsden

Andi Kleen wrote:


On Wed, Aug 10, 2005 at 09:54:11PM -0700, [EMAIL PROTECTED] wrote:
 


Use an early clobber on addr to avoid the extra rorl instruction at the
end of _set_tssldt_desc.
   



I would suggest to just use C for this. I do this on x86-64 and 
I don't think there is any reason to use this hard to maintain

code for it.



This one in particular is non-optimal looking from C because the 
compiler misses the potential for rotation.  But, composing into 
temporaries and then issuing two writes to memory instead of multiple 
writes within the same word could actually get you a better cycle count, 
and that is something GCC just might be able to do :)


Zach
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: rc6 keeps hanging and blanking displays

2005-08-16 Thread Dave Airlie
> ...
> 
> Seems like it died trying to perform int10 initialization?

I'm still pointing towards that assign pci resources patch from Gregs
tree that I mentioned earlier..

the fact that disabling the DRM stops things from working is really
bad, maybe the pci_enable_device in the DRM is setting up the devices,
whereas  without it X tries and fails...

> 
> I can try running the radeon xserver only, as the vga console is on the matrox
> card.
> 

I'm running low on ideas, I'm also having a hard time tracking what is
actually happening,  the MGA bugs I've tracked are related to that
assign pci resources patch, and I really can't see what is happening
if the DRM isn't in the mix..

If you build a working kernel (i.e. like 2.6.13 without DRM) does it
hang similarly?

Dave.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 4/14] i386 / Clean up asm and volatile keywords in desc

2005-08-16 Thread H. Peter Anvin

Andi Kleen wrote:

On Wed, Aug 10, 2005 at 09:53:51PM -0700, [EMAIL PROTECTED] wrote:


Stop using extra underscores on asm and volatiles, that is just silly.


Actually the volatiles might be still useful. Or if you drop them
at least add memory clobbers. I had sometimes bugs  on x86-64
with the compiler moving such assembly statements with invisible 
side effects around too aggressively and causing weird problems.


Agreed on the underscores, I hate them too :)



Well, put volatiles in *unless* the only effect of an asm statement is 
producing the output values.


-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 4/14] i386 / Clean up asm and volatile keywords in desc

2005-08-16 Thread Chris Wright
* Andi Kleen ([EMAIL PROTECTED]) wrote:
> On Wed, Aug 10, 2005 at 09:53:51PM -0700, [EMAIL PROTECTED] wrote:
> > Stop using extra underscores on asm and volatiles, that is just silly.
> 
> Actually the volatiles might be still useful. Or if you drop them
> at least add memory clobbers.

They are still there, just the underscores on both asm and volatile got
pulled.

> I had sometimes bugs  on x86-64
> with the compiler moving such assembly statements with invisible 
> side effects around too aggressively and causing weird problems.
> 
> Agreed on the underscores, I hate them too :)

Heh, same here ;-)

thanks,
-chris
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


RE: [RFC][PATCH 2.6.13-rc6] add Dell Systems Management Base Driver (dcdbas) with sysfs support

2005-08-16 Thread Michael_E_Brown
> -Original Message-
> From: Greg KH [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, August 16, 2005 6:24 PM
> To: Brown, Michael E
> Cc: [EMAIL PROTECTED]; linux-kernel@vger.kernel.org; 
> Warzecha, Douglas; Domsch, Matt
> Subject: Re: [RFC][PATCH 2.6.13-rc6] add Dell Systems 
> Management Base Driver (dcdbas) with sysfs support
> 
> 
> On Tue, Aug 16, 2005 at 06:11:13PM -0500, 
> [EMAIL PROTECTED] wrote:
> > 
> > The main use of this driver by libsmbios will be to set BIOS F2
> > options. Based on your feedback, I will _NOT_ be implementing any 
> > fan/sensor functionality in libsmbios, but will work with 
> the lmsensors 
> > guys to do this instead. I only originally mentioned it because I 
> > thought it would be useful. My eyes have now been opened as 
> to the best 
> > way to do this, and we will do it that way.
> 
> Ok, sounds good.
> 
> Hm, what about my code comments, they seem to have been lost 
> in the noise...

No, they are not lost. Doug is working on them and will send you
something shortly (EOD today).

> 
> > And just to re-iterate one more time, we can already directly hook 
> > into
> > hardware from userspace without any kernel auditing. We are 
> just trying 
> > to set this out on the table for everybody to see.
> 
> So, this whole driver is not needed at all?  It can all be 
> done from userspace?  If so, then this shouldn't be added to 
> the kernel tree.

Several reasons:

A) Auditability: we don't do "secret" SMI calls behind people's backs.
This is an issue for some of our larger customers. This also provides a
legitimate reason that I can use to justify to management publicly
documenting the rest of the SMI calls that are not in use by our
software. Things like: "Hey, SomeBigDellCustomer wants to know what Dell
is doing with the open source dcdbas driver and all of the other SMI
function docs" pull a lot of weight.

B) Safety: It is easier to provide a single API with well defined
semantics so there are no race conditions when multiple programs try to
do SMI at the same time. SMI from userspace can be tricky, and I want to
make it easy to get right. Things like finding an usused BIOS reserved
area and coordinating access between multiple programs can be difficult.
Additionally, finding an area large enough to hold everything for the
larger SMI calls is tricky (ie. depends on which system, BIOS memory
layout, etc. Very difficult to safely code for and mostly not worth the
effort if we can get this driver in).

C) host control actions need to happen in kernel at shutdown, so that
part of the driver needs to be in the kernel. (this part isn't the part
that provides generic SMI stuff to userspace)

--
Michael
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 8/14] i386 / Add a per cpu gdt accessor

2005-08-16 Thread H. Peter Anvin

Andi Kleen wrote:

On Wed, Aug 10, 2005 at 09:56:40PM -0700, [EMAIL PROTECTED] wrote:


Add an accessor function for getting the per-CPU gdt.  Callee must already
have the CPU.



What is the accessor good for? 


It looks just like code obfuscation to me.


He wants accessors so he can override them in Xen.

-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC - 0/9] Generic timekeeping subsystem (v. B5)

2005-08-16 Thread john stultz
On Tue, 2005-08-16 at 11:25 -0700, Christoph Lameter wrote:
> You mentioned that the NTP code has some issues with time interpolation 
> at the KS. This is due to the NTP layer not being aware of actual time 
> differences between timer interrupts that the interpolator knows about.

My understanding of the issue was that when NTP makes an adjustment, it
only affects xtime, and any difference between the adjusted time and the
interpolator's time was just accumulated in the interpolator's offset.
That then, to my understanding, required the bit about adjusting the
interpolator frequency to be slower then what we expect so negative
offsets can be applied. 

Looking at it closer, it may very work, but it does seem to be
addressing the issue somewhat indirectly.

> If the NTP layer would be aware of the actual intervals measured by the 
> timesource (or interpolator) then presumably time could be adjusted in a 
> more accurate way.

This is basically what I do in my patch. I directly apply the NTP
adjustment to the timesource interval, and periodically increment the
NTP state machine by the timesource interval when we accumulate it.

thanks
-john




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Fix mmap_kmem (was: [question] What's the difference between /dev/kmem and /dev/mem)

2005-08-16 Thread Steven Rostedt
On Wed, 2005-08-17 at 00:33 +0100, Alan Cox wrote:
> 
> If you use /dev/mem you should know what you are doing. Even with
> "checks" dd if=/dev/zero of=/dev/mem will do bad things. Trapping
> obviously bad cases is fine, but complete sanity checking may actually
> be counter productive.
> 

Sometimes "dd if=/dev/zero of=/dev/mem" is helpful. When I was in Spain
for some time, I needed to transfer lots of pictures to my home machine.
But all I had access to was a broken Windows box that I could ssh but
not scp?  So I (stupidly) started a ftp daemon and started transfering
them that way. I thought that creating a temp account and then changing
the password via ssh would work.  

Well, the next day I was completely rooted (thank god it was only a box
in my DMZ). Still, I was thousands of miles away and needed to kill the
box. If I can't use it, I certainly wont let someone else use it.  They
took over pretty much all control to shutdown the machine remotely.  So
I finally was able to do the duty with "dd if=/dev/zero of=/dev/mem".  

And that's my story where that can be your friend :-)

-- Steve


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 8/14] i386 / Add a per cpu gdt accessor

2005-08-16 Thread Andi Kleen
On Wed, Aug 10, 2005 at 09:56:40PM -0700, [EMAIL PROTECTED] wrote:
> Add an accessor function for getting the per-CPU gdt.  Callee must already
> have the CPU.

What is the accessor good for? 

It looks just like code obfuscation to me.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC][PATCH 2.6.13-rc6] add Dell Systems Management Base Driver (dcdbas) with sysfs support

2005-08-16 Thread Doug Warzecha
On Mon, Aug 15, 2005 at 10:52:48PM -0700, Greg KH wrote:
> On Mon, Aug 15, 2005 at 03:05:22PM -0500, Doug Warzecha wrote:
> > +
> > +1) Lock smi_data.
> > +2) Determine buffer size needed for system management command.
> > +3) Write buffer size needed to smi_data_buf_size.
> > +   (Driver will ensure that its SMI data buffer is at least that size.)
> 
> Why have this step?  Why is it needed?  Just go off of the size of the
> buffer that is written to smi_data.  Or am I missing something?

I'll change smi_data_write to do that.

> > +4) If physical address of SMI data buffer is needed to set up system
> > +   management command, read physical address from smi_data_buf_phys_addr
> > +   and add to command data.
> 
> How do you know this?

It depends on the SMI calling convention.  Dell OpenManage needs the physical 
address for the SMI to get the ESM log on the PowerEdge systems listed in this 
doc.

> > +#define DCDBAS_DEV_ATTR_RW(_name) \
> > +   DEVICE_ATTR(_name,0644,_name##_show,_name##_store);
> > +
> > +#define DCDBAS_DEV_ATTR_RO(_name) \
> > +   DEVICE_ATTR(_name,0444,_name##_show,NULL);
> 
> Why let all users read this data?

Will be changed so that only owner can read.

> > +#define DCDBAS_BIN_ATTR_RW(_name) \
> > +struct bin_attribute bin_attr_##_name = { \
> > +   .attr =  { .name = __stringify(_name), \
> > +  .mode = 0644, \
> 
> Why let everyone read this data?

Will be changed so that only owner can read.

> > +struct callintf_cmd {
> > +   u32 magic;
> 
> Why even have this?  Does it really stop anything except random
> scribblings?

It's to stop random writing.

> > +   u16 command_address;
> > +   u8 command_code;
> > +   u8 reserved;
> > +   u32 command_signature;
> > +   u8 command_buffer[1];
> > +} __attribute__ ((packed));
> 
> As these cross the userspace/kernelspace boundry, please use the __u32,
> __u16, and __u8 variable types.

Will be changed.

> > +struct apm_cmd {
> > +   u8 command;
> > +   s8 status;
> > +   u16 reserved;
> > +   union {
> > +   struct {
> > +   u8 parm[MAX_SYSMGMT_SHORTCMD_PARMBUF_LEN];
> > +   } __attribute__ ((packed)) shortreq;
> > +
> > +   struct {
> > +   u16 num_sg_entries;
> > +   struct {
> > +   u32 size;
> > +   u64 addr;
> > +   } __attribute__ ((packed))
> > +   sglist[MAX_SYSMGMT_LONGCMD_SGENTRY_NUM];
> > +   } __attribute__ ((packed)) longreq;
> > +   } __attribute__ ((packed)) parameters;
> > +} __attribute__ ((packed));
> 
> Same here (I think...)

Will be changed.

Doug

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 6/14] i386 / Add some segment convenience functions

2005-08-16 Thread Andi Kleen
On Wed, Aug 10, 2005 at 09:54:31PM -0700, [EMAIL PROTECTED] wrote:
> Add some convenient segment macros to the kernel.  This makes the
> rather obfuscated 'seg & 4' go away.

segment_from_ldt is a weird name for this. I wouldn't guess it to 
be a test for something. How about is_ldt_segment() instead? 

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 5/14] i386 / Use early clobber to eliminate rotate in desc

2005-08-16 Thread Andi Kleen
On Wed, Aug 10, 2005 at 09:54:11PM -0700, [EMAIL PROTECTED] wrote:
> Use an early clobber on addr to avoid the extra rorl instruction at the
> end of _set_tssldt_desc.

I would suggest to just use C for this. I do this on x86-64 and 
I don't think there is any reason to use this hard to maintain
code for it.

It's probably a left over from Linus first experiments with inline
assembly, similar to the old string.h and by now so obsolete
it doesn't even stink anymore.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 1/14] i386 / Make write ldt return error code

2005-08-16 Thread Andi Kleen
On Wed, Aug 10, 2005 at 09:52:51PM -0700, [EMAIL PROTECTED] wrote:
> Xen requires error returns from the hypercall to update LDT entries,
> and this generates completely equivalent code on native.

I don't think that is something we want. Nothing in the callers will check
the errors anyways. If Xen has such a requirement it should kill
the guest when it is violated, otherwise they will be ignored.

I would drop that one.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH 4/14] i386 / Clean up asm and volatile keywords in desc

2005-08-16 Thread Andi Kleen
On Wed, Aug 10, 2005 at 09:53:51PM -0700, [EMAIL PROTECTED] wrote:
> Stop using extra underscores on asm and volatiles, that is just silly.

Actually the volatiles might be still useful. Or if you drop them
at least add memory clobbers. I had sometimes bugs  on x86-64
with the compiler moving such assembly statements with invisible 
side effects around too aggressively and causing weird problems.

Agreed on the underscores, I hate them too :)

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: udev-067 and 2.6.12?

2005-08-16 Thread Alistair John Strachan
On Wednesday 17 August 2005 00:09, Kay Sievers wrote:
[snip]
>
> Do you provide hooks for handling /etc/hotplug.d/? We are on the way of
> getting rid of that directory and recent udev versions don't handle
> that by default anymore. If you don't know, read the udev RELEASE-NOTES.
>
> Kay

I read the document, fixed the rules, and it works again. I've sent additional 
emails to the correct list this time outlining some other problems. I suspect 
they, too, are hotplug related.

(In future I'll read the documentation available in its entirety before 
pestering people. However, the way udev works is constantly changing and the 
problem I was seeing was seemingly inconsistent with an otherwise working 
udev, which made me think the problem was more deep seated..)

-- 
Cheers,
Alistair.

'No sense being pessimistic, it probably wouldn't work anyway.'
Third year Computer Science undergraduate.
1F2 55 South Clerk Street, Edinburgh, UK.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [Hdaps-devel] Re: HDAPS, Need to park the head for real

2005-08-16 Thread Yani Ioannou
On 8/16/05, Alejandro Bonilla Beeche <[EMAIL PROTECTED]> wrote:
> On Tue, 2005-08-16 at 22:07 +0200, Jens Axboe wrote:
> > On Tue, Aug 16 2005, Alejandro Bonilla Beeche wrote:
> > If I were in your position, I would just implement this for ide (pata,
> > not sata) right now, since that is what you need to support (or do some
> > of these notebooks come with sata?). So it follows that you add an ide
> 
> Some notebooks are coming up with a Sata controller I think, but is
> still and IDE drive. I think some T43's come with that.
> 
> But, I will ask or check again later if we ever need this feature for
> SATA.

I believe T43s use a SATA->PATA bridge for their hard drives, so we
probably would.

(see http://www.thinkwiki.org/wiki/Category_talk:T43).

Yani
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC] [PATCH] cache pollution aware __copy_from_user_ll()

2005-08-16 Thread Hiro Yoshioka
Chuck,

From: Chuck Ebbert <[EMAIL PROTECTED]>
> On Tue, 16 Aug 2005 at 19:16:17 +0900 (JST), Hiro Yoshioka wrote:
> > oh, really? Does the linux kernel take care of
> > SSE save/restore on a task switch?
> 
>  Check out XMMS_SAVE and XMMS_RESTORE in include/asm-i386/xor.h

Thanks for your suggestion. But it seems to me it won't help
when we have a page fault or other exeptions.

Regards,
  Hiro
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC][PATCH 2.6.13-rc6] add Dell Systems Management Base Driver (dcdbas) with sysfs support

2005-08-16 Thread Greg KH
On Tue, Aug 16, 2005 at 06:11:13PM -0500, [EMAIL PROTECTED] wrote:
> 
> The main use of this driver by libsmbios will be to set BIOS F2 
> options. Based on your feedback, I will _NOT_ be implementing any 
> fan/sensor functionality in libsmbios, but will work with the lmsensors 
> guys to do this instead. I only originally mentioned it because I 
> thought it would be useful. My eyes have now been opened as to the best 
> way to do this, and we will do it that way.

Ok, sounds good.

Hm, what about my code comments, they seem to have been lost in the
noise...

> And just to re-iterate one more time, we can already directly hook into 
> hardware from userspace without any kernel auditing. We are just trying 
> to set this out on the table for everybody to see.

So, this whole driver is not needed at all?  It can all be done from
userspace?  If so, then this shouldn't be added to the kernel tree.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: 2.6.12.3 clock drifting twice too fast (amd64)

2005-08-16 Thread Jeff Mahoney
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Christoph Lameter wrote:
> On Tue, 16 Aug 2005, jerome lacoste wrote:
> 
>>Installed stock 2.6.12.3 on a brand new amd64 box with an Asus extreme
>>AX 300 SE/t mainboard.
>>
>>I remember seeing a message in the boot saying something along:
>>
>>  "cannot connect to hardware clock."
>>
>>And now I see that the time is changing too fast (about 2 seconds each 
>>second).
> 
> The timer interrupt is probably called twice for some reason and therefore 
> time runs twice as fast. Try using HPET for interrupt timing.
> 
>>I don't have visual on the boot sequence anymore (only remote access).
> 
> Use serial console or netconsole. The boot information is logged. Try 
> dmesg.

I am seeing similar results on my Acer Ferrari 4000 (Turion64 ML-37). It
does appear that time is running 2x normal time.

Booting with noapictimer cleared up the timing issues, though it did
introduce some IRQ badness.

- -Jeff

- --
Jeff Mahoney
SuSE Labs
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.0 (GNU/Linux)

iD8DBQFDAnPzLPWxlyuTD7IRAuQ+AKCoK4Bvj9YaSxK1cYzK/LQUGcj2pQCgmBKK
hGeSfGE+CvdNzqW3pN5LQq8=
=wtra
-END PGP SIGNATURE-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: HDAPS, Need to park the head for real

2005-08-16 Thread Alejandro Bonilla Beeche
On Tue, 2005-08-16 at 22:07 +0200, Jens Axboe wrote:
> On Tue, Aug 16 2005, Alejandro Bonilla Beeche wrote:
> If I were in your position, I would just implement this for ide (pata,
> not sata) right now, since that is what you need to support (or do some
> of these notebooks come with sata?). So it follows that you add an ide

Some notebooks are coming up with a Sata controller I think, but is
still and IDE drive. I think some T43's come with that.

But, I will ask or check again later if we ever need this feature for
SATA.

.Alejandro

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC][PATCH 2.6.13-rc6] add Dell Systems Management Base Driver (dcdbas) with sysfs support

2005-08-16 Thread Michael_E_Brown
Greg KH wrote:

>On Tue, Aug 16, 2005 at 08:34:24AM -0500, Michael E Brown wrote:
>  
>
>>On Tue, 2005-08-16 at 01:16 -0700, Greg KH wrote:
>>
>>
>>>No, export this data properly through sysfs like all other temperature
>>>and sensor data is.  Don't create a new one, no matter how much you
>>>would like to keep from changing kernel code in the future for new
>>>hardware.
>>>  
>>>
>>This driver is not trying to create a new way to do sensor and monitor
>>data. This just happens to be a side effect of the main use case.
>>
>>
>
>But it's probably a main use case for a lot of users daily experience,
>right?
>
>  
>
No. And after this feedback, I'll be trying to make sure this doesn't 
happen.

There are two main users of this driver (dcdbas) at this point.

1) libsmbios.
The main use of this driver by libsmbios will be to set BIOS F2 
options. Based on your feedback, I will _NOT_ be implementing any 
fan/sensor functionality in libsmbios, but will work with the lmsensors 
guys to do this instead. I only originally mentioned it because I 
thought it would be useful. My eyes have now been opened as to the best 
way to do this, and we will do it that way.

2) Dell OpenManage
The main use of this driver by openmanage will be to read the System 
Event Log that BIOS keeps. Here are some other random relevant points:
A) The sensor functions available through Dell SMI calls are only on 
laptops at this point.
B) OpenManage is not supported on laptops (server only)
C) OpenManage is transistioning to use openipmi to do all 
sensor-related stuff, so there is no need to use SMI.

All this adds up to the fact that neither of the two official Dell apps 
that use this Dell SMI driver will be using this driver for _ANY_ type 
of sensor functionality, and there is no danger at all of either of 
these apps ever growing this functionality.  So out of the many SMI 
functions available for use using this driver, only about 3 or 4 would 
be commonly used officially by Dell.

In the meantime, as a community service, I have offered up libsmbios to 
document the other many functions available using SMI to anybody who 
thought they would be useful (as several people have privately emailed 
me). Based on the availability of this extra functionality (sensors) the 
whole submission of dcdbas driver is being questioned.  I would like to 
re-iterate at this point what I said in one of my first emails. 
Everything that you can do using this dcdbas driver can already be done 
"under the covers" in userspace with the right incantations. (ie. set 
processor affinity, pick a BIOS reserved area as your physical buffer).  
What you get by using the dcdbas driver is an auditable entry point in 
the kernel for anybody wanting to do one of these SMI calls. If the 
dcdbas driver is accepted, all Dell software that does SMIs will use it. 
Then, anybody who is curious about which SMI calls that Dell software is 
performing can simply add logging hooks to dcdbas to syslog the contents 
of each buffer passed. People who think they are making things "safer" 
by restricting userspace access to SMIs are only deluding themselves.

For example, we already have at least one buggy implementation of this
exact stack in the kernel as the i8k driver. The i8k driver was reverse-
engineered and works, but it does not follow the spec at all, and so is
subject to major breakage if the BIOS changes. With dcdbase + libsmbios,
we can write this _correctly_, and in such a way that it follows the
spec and will not break on BIOS updates.


>>>No, fix the i8k driver as you have access to the specs.  It was there
>>>first.
>>>  
>>>
>>Ok.
>>
>>
>
>On second thought, after looking at that code, forget it, just do
>something new with the proper hwmon interface instead.
>  
>
Ok.

Each function would have to take into account the specific calling
requirements of that specific function.


>>>Again, no different from any other sensor driver.
>>>  
>>>
>>Again, this driver is not a sensor driver. 
>>
>>
>
>You provide sensor data, hence...
>
>  
>
I cannot go back and undo the way BIOS has designed this interface. It 
just so happens that by providing a generic way to get the data I want, 
you also can get at some other, unrelated stuff. We promise we won't use 
this interface to get that unrelated stuff, (as silly as that sounds).

>>For some odd reason, our customers have less concerns with updating a
>>userspace library. 
>>
>>
>
>For a library like this, they should be just as concerned, as you have a
>direct hook into their hardware, with the ability to break it just as
>easily as a kernel update.
>
>  
>
Not really. None of the SMI calls that I am aware of has any ability to 
affect the running of the system with the exception of the Radio control 
and Display switching calls. It would most likely be best to give the 
docs for these to the appropriate driver pe

Re: 2.6.12.3 clock drifting twice too fast (amd64)

2005-08-16 Thread jerome lacoste
On 8/16/05, john stultz <[EMAIL PROTECTED]> wrote:
> On Tue, 2005-08-16 at 12:10 +0200, jerome lacoste wrote:
> > Installed stock 2.6.12.3 on a brand new amd64 box with an Asus extreme
> > AX 300 SE/t mainboard.
> >
> > I remember seeing a message in the boot saying something along:
> >
> >   "cannot connect to hardware clock."
> >
> > And now I see that the time is changing too fast (about 2 seconds each 
> > second).
> [snip]
> > :00:00.0 Host bridge: ATI Technologies Inc: Unknown device 5951
> 
> Looks like the AMD/ATI bug.
> 
> http://bugzilla.kernel.org/show_bug.cgi?id=3927

Sounds like it. I will have to try the patch.

Good catch John!

Jerome
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: udev-067 and 2.6.12?

2005-08-16 Thread Kay Sievers
On Tue, Aug 16, 2005 at 03:14:50PM -0700, Greg KH wrote:
> On Tue, Aug 16, 2005 at 11:12:26PM +0100, Alistair John Strachan wrote:
> > On Tuesday 16 August 2005 23:05, Greg KH wrote:
> > > On Tue, Aug 16, 2005 at 11:02:00PM +0100, Alistair John Strachan wrote:
> > > > Hi,
> > > >
> > > > I just tried upgrading udev 053 to 067 on a 2.6.12 system and although
> > > > the system booted, firmware_class failed to upload the firmware for my
> > > > wireless card, prism54 was no longer auto loaded, etc. Even manually
> > > > loading the driver didn't help.
> > > >
> > > > Any reason why 067 wouldn't work with 2.6.12? Do you have to do 
> > > > something
> > > > special with hotplug prior to upgrading?
> > >
> > > What distro are you using?  What rules file are you using?
> > >
> > > 067 should work just fine for you, it is for a lot of Gentoo and SuSE
> > > users right now, on 2.6.12.
> > >
> > 
> > An LFS from April 05, with the stock 50-udev.rules, 25-lfs.rules (which 
> > doesn't do anything suspicious, I think; certainly nothing related to my 
> > problem).
> 
> There are no "stock" udev rules anymore.  That's probably the issue, all
> of the distros made their own, so we provide them in the tarball.  I
> suggest you talk to the LFS people about this.
> 
> > 25-lfs.rules does duplicate some of the things in 50-udev.rules, but I 
> > think 
> > that's deliberate (they want to interfere with the stock install as little 
> > as 
> > possible, and the overrides take precedence). I've put my /etc/udev 
> > directory 
> > unmodified up here:
> > 
> > http://devzero.co.uk/~alistair/udev/
> 
> s/=/==/ for most of your rules and see if that works.
> 
> > If I reinstall 053 and reboot, everything that's broken on 067 works again. 
> > Do 
> > you need a specific hotplug installed?

Do you provide hooks for handling /etc/hotplug.d/? We are on the way of
getting rid of that directory and recent udev versions don't handle
that by default anymore. If you don't know, read the udev RELEASE-NOTES.

Kay
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Fix mmap_kmem (was: [question] What's the difference between /dev/kmem and /dev/mem)

2005-08-16 Thread Alan Cox
On Maw, 2005-08-16 at 17:12 -0500, Greg Edwards wrote:
> mmap_mem suffers from a lack of proper checks as well.  For example, on
> Altix page 0 of each node is reserved for prom and a read or write to it
> will cause an MCA.  mmaping /dev/mem with offset 0 will nicely explode.
> Would adding a pfn_valid test in mmap_mem be the best bet, or could we
> consolidate the checks currently in mmap_kmem into mmap_mem?

If you use /dev/mem you should know what you are doing. Even with
"checks" dd if=/dev/zero of=/dev/mem will do bad things. Trapping
obviously bad cases is fine, but complete sanity checking may actually
be counter productive.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [UPDATE PATCH] push rounding up of relative request to schedule_timeout()

2005-08-16 Thread Nishanth Aravamudan
On 04.08.2005 [09:45:55 -0700], George Anzinger wrote:
> Uh... PLEASE tell me you are NOT changing timespec_to_jiffies() (and 
> timeval_to_jiffies() to add 1.  This is NOT the right thing to do.  For 
> repeating times (see setitimer code) we need the actual time as we KNOW 
> where the jiffies edge is in the repeating case.  The +1 is needed ONLY 
> for the initial time, not the repeating time.
> 
> 
> See:
> http://marc.theaimsgroup.com/?l=linux-kernel&m=112208357906156&w=2

I followed that thread, George, but I think it's a different case with
schedule_timeout() [maybe this indicates drivers/other users should
maybe be using itimers, but I'll get to that in a sec].

With schedule_timeout(), we are just given a relative jiffies value. We
have no context as to which task is requesting the delay, per se,
meaning we don't (can't) know from the interface whether this is the
first delay in a sequence, or a brand new one, without changing all
users to have some sort of control structure. The callers of
schedule_timeout() don't even get a pointer to the timer added
internally.

So, adding 1 to all sleeps seems like it might be reasonable, as looping
sleeps probably need to use a different interface. I had worked a bit
ago on something like poll_event() with the kernel-janitors group, which
would abstract out the repeated sleeps. Basically wait_event() without
wait-queues... Maybe we could make such an interface just use itimers?
I've attached my old patch for poll_event(), just for reference.

My point, I guess, is that in the schedule_timeout() case, we don't know
where the jiffies edge is, as we either expire or receive a wait-queue
event/signal, we never mod_timer() the internal timer... So we have to
assume that we need to sleep the request. But maybe Roman's idea of
sleeping a certain number of jiffy edges is sufficient. I am not yet
convinced driver authors want/need such an interface, though, still
thinking it over.

Thanks for all the feedback,

Nish


--- 2.6.11-kj-v/include/linux/delay.h   2005-03-01 23:37:51.0 -0800
+++ 2.6.11-kj/include/linux/delay.h 2005-03-04 16:03:24.0 -0800
@@ -47,4 +47,106 @@ static inline void ssleep(unsigned int s
msleep(seconds * 1000);
 }
 
+/*
+ * poll_event* check if an @condition is true every @interval milliseconds,
+ * up to a @timeout maximum, if specified, else forever.
+ * The *_interruptible versions will sleep in TASK_INTERRUPTIBLE
+ * (instead of TASK_UNINTERRUPTIBLE) and will return early on signals
+ * Note that these interfaces are distinctly different than
+ * wait_event*() in two ways:
+ * 1) No wait-queues
+ * 2) Specify the time you want to sleep, not when you want to
+ * wake-up. Thus, callers should not add the current time to
+ * @timeout before calling, as it will be done by the macro.
+ */
+
+/**
+ * poll_event - check a condition at regular intervals
+ * @condition: Condition to check
+ * @interval: Number of milliseconds between checks
+ */
+#define poll_event(condition, interval)\
+do {   \
+   while (!(condition))\
+   msleep(interval);   \
+} while(0)
+
+/**
+ * poll_event_timeout - check a condition at regular intervals with a timeout
+ * @condition: Condition to check
+ * @interval: Number of milliseconds between checks
+ * @timeout: Maximum total number of milliseconds to take
+ * returns: 0, if condition caused return
+ * -ETIME, if timeout
+ */
+#define poll_event_timeout(condition, interval, timeout)   \
+({ \
+   int __ret = 0;  \
+   unsigned long stop = jiffies + msecs_to_jiffies(timeout);   \
+   \
+   for (;;) {  \
+   if (condition)  \
+   break;  \
+   msleep(interval);   \
+   if (time_after(jiffies, stop)) {\
+   __ret = -ETIME; \
+   break;  \
+   }   \
+   }   \
+   __ret;  \
+})
+
+/**
+ * poll_event_interruptible - check a condition at regular intervals, 
returning early on signals
+ * @condition: Condition to check
+ * @interval: Number of milliseconds between checks
+ * returns: 0, if condition caused return
+ * -EINTR, if a signal
+ */
+#define poll_event

Re: [Pcihpd-discuss] [PATCH] use bus_slot number for name

2005-08-16 Thread Kristen Accardi
On Wed, 2005-08-10 at 16:01 +0100, Matthew Wilcox wrote:
> On Fri, Aug 05, 2005 at 12:16:06PM -0700, Kristen Accardi wrote:
> > For systems with multiple hotplug controllers, you need to use more than
> > just the slot number to uniquely name the slot.  Without a unique slot
> > name, the pci_hp_register() will fail.  This patch adds the bus number
> > to the name.
> 
> That doesn't make much sense.  The slot number should at least be unique
> to the chassis, if not to the whole machine.  HP's large machines with
> multiple cabinets encode the cabinet number in the return from _SUN.
> It ends up as something like 80103 for a large machine while still being
> merely slot 3 for the smaller machines.
> 
> IOW, I think this is a firmware bug which needs to be fixed there.
> 

Just wanted to let you know that I'm not ignoring your comment :).  I'm
checking now to see if the firmware is required to make the slot number
unique across all controllers.  I also am expecting a hardware/firmware
update for the machine that exhibited this behavior, and so will retest
when I get it and let you know.  although, I'm not sure if it's a good
idea to trust the BIOS to do this properly even if it's required.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: IT8212/ITE RAID

2005-08-16 Thread CaT
On Sun, Aug 14, 2005 at 02:33:05PM +0100, Alan Cox wrote:
> On Sul, 2005-08-14 at 13:44 +0100, Daniel Drake wrote:
> > > [227523.229557] hda: 390721968 sectors (200049 MB) w/8192KiB Cache, 
> > > CHS=24321/255/63, BUG
> 
> Thats probably the fact other patches from -ac are missing in base. It
> should be harmless. 

Just remembered that I was seeing the above with 11ac7 aswell.

-- 
"To the extent that we overreact, we proffer the terrorists the
greatest tribute."
- High Court Judge Michael Kirby
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Representatives needed urgently

2005-08-16 Thread kim lee

Dear Sir/Madam,

I am Mr.kim Lee ,we are a company that deal on
importing and exporting raw materials into Canada,America and England. We 
are searching for
representatives who can  help us establish a medium of getting to our 
costumers in the Canada,America and England as well as making payments 
through you to us.


Please if you are interested in transacting business
with us we will be very glad. Please contact us for more information.
Subject to your satisfaction,you shall be well compensated for your troubles 
and time.


reply to [EMAIL PROTECTED]

Regards.
kim Lee


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [PATCH] Don't use a klist for drivers' set-of-devices

2005-08-16 Thread Dmitry Torokhov
On 8/15/05, Alan Stern <[EMAIL PROTECTED]> wrote:

> On the face of it, neither is particularly more attractive than the other.
> However, reading through the various places that call these routines (for
> example, drivers/input/serio/serio.c or drivers/pnp/card.c) revealed a
> pattern.  In most cases, the callers of device_bind_driver _really_ want
> something that functions more like driver_probe_device but without the
> matching step.  The callers are invoking the probe methods by hand rather
> than relying on the driver core to do so.  There's maybe only one place
> where a caller actually does want the device bound to the driver without
> doing a probe.
> 

Alan,

I am sorry I don't have time to properly review the patch at
themoment, just a couple of comments about serio - I would not look at
serio for examples of typical use as it was trying very hard to work
around the original driver model limitation that prevented drivers to
register childern on the same bus from their probe function. I think
now that that limitation is lifted serio implemenation can be
simplified.

-- 
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Representatives needed urgently

2005-08-16 Thread kim lee

Dear Sir/Madam,

I am Mr.kim Lee ,we are a company that deal on
importing and exporting raw materials into Canada,America and England. We 
are searching for
representatives who can  help us establish a medium of getting to our 
costumers in the Canada,America and England as well as making payments 
through you to us.


Please if you are interested in transacting business
with us we will be very glad. Please contact us for more information.
Subject to your satisfaction,you shall be well compensated for your troubles 
and time.


reply to [EMAIL PROTECTED]

Regards.
kim Lee


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [rfc][patch] API for timer hooks

2005-08-16 Thread Nish Aravamudan
On 8/16/05, Stas Sergeev <[EMAIL PROTECTED]> wrote:
> Hello.
> 
> john stultz wrote:
> > Interesting. Could you explain why the soft-timer interface doesn't<>
> > suffice?
> I'll try to explain why *I think*
> it doesn't suffice, please correct
> me if my assumptions are wrong.
> 
> There are two (bad) things about the
> PC-Speaker driver:
> 1. It needs the higher interrupt frequency.
> Since there seem to be no API to change
> the timer frequency at runtime, the driver
> does this itself. Now I have googled out
> the thread
> [PATCH] i386: Selectable Frequency of the Timer Interrupt
> but it doesn't look like it ended up
> with some patch applied, or where is it?

This thread resulted in CONFIG_HZ. You get to choose between 100, 250
or 1000. It was not meant to allow runtime HZ modifications.

> 2. It needs its handler to be executed
> first in the chain. Otherwise the quality
> is poor because of the latency.

Yeah, that's a tougher one :)

> My approach solves both problems by
> introducing the grabbing ability.
> This is a rather simple patch, and since
> it allows to do some cleanup, I though
> it could be usefull not only for the
> speaker driver.
> But if you can tell me how to achieve
> at least the point 1 (that is, speed up the
> timer at run-time quite arbitrary) without
> the kernel mods, then it would be a real
> salvation.

Does the dynamic-tick patch help you at all? I'm not sure if it's
meant to, admittedly. I'm also not sure if it has any cap on the
maximum HZ it attempts to reprogram the hardware to... Mucking with HZ
at run-time is going to break lots of stuff, though...well, not
necessarily, depends on how you muck with jiffies :)

Thanks,
Nish
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[patch 5/7] PCI: update documentation

2005-08-16 Thread Greg Kroah-Hartman
From: Jiri Slaby <[EMAIL PROTECTED]>

This removes very old functions from pci docs, which aren't no longer in the
kernel.

Signed-off-by: Jiri Slaby <[EMAIL PROTECTED]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>

---
 Documentation/pci.txt |   14 --
 1 files changed, 14 deletions(-)

--- gregkh-2.6.orig/Documentation/pci.txt   2005-08-16 14:51:30.0 
-0700
+++ gregkh-2.6/Documentation/pci.txt2005-08-16 14:57:58.0 -0700
@@ -266,20 +266,6 @@ port an old driver to the new PCI interf
 in the kernel as they aren't compatible with hotplug or PCI domains or
 having sane locking.
 
-pcibios_present() and  Since ages, you don't need to test presence
-pci_present()  of PCI subsystem when trying to talk to it.
-   If it's not there, the list of PCI devices
-   is empty and all functions for searching for
-   devices just return NULL.
-pcibios_(read|write)_* Superseded by their pci_(read|write)_*
-   counterparts.
-pcibios_find_* Superseded by their pci_get_* counterparts.
-pci_for_each_dev() Superseded by pci_get_device()
-pci_for_each_dev_reverse() Superseded by pci_find_device_reverse()
-pci_for_each_bus() Superseded by pci_find_next_bus()
 pci_find_device()  Superseded by pci_get_device()
 pci_find_subsys()  Superseded by pci_get_subsys()
 pci_find_slot()Superseded by pci_get_slot()
-pcibios_find_class()   Superseded by pci_get_class()
-pci_find_class()   Superseded by pci_get_class()
-pci_(read|write)_*_nodev() Superseded by pci_bus_(read|write)_*()

--
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


  1   2   3   4   >