Re: TTY task group scheduling

2010-11-19 Thread Garrett Cooper
On Fri, Nov 19, 2010 at 5:27 PM, Oliver Pinter  wrote:
> My desktop running 7-STABLE with 100Hz and NOPREEMPT (it's a 4core SMP 
> system),
> I tested 8-STABLE, but that is not too responsive, the solution is:
> 100Hz NOPREEMPT + kern.sched.preempt_thresh=224
> After this setting, the system is likely responsive as 7-STABLE.
>
> On 11/19/10, Garrett Cooper  wrote:
>> On Fri, Nov 19, 2010 at 1:10 PM, Oliver Pinter 
>> wrote:
>>> http://lkml.org/lkml/2010/11/16/392
>>>
>>> On 11/18/10, O. Hartmann  wrote:
 On 11/18/10 02:30, grarpamp wrote:
> Just documenting regarding interactive performance things.
> This one's from Linux.
>
> http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1

 Well,
 it would be nice to have those improvements in FreeBSD, but I doubt this
 will make it in due time to FreeBSD's kernel.
>>
>> And my one line fix:
>>
>> renice 10 `pidof firefox-bin`
>>
>> Instantly my system is snappier (and in fact my system got really
>> laggy after applying the preempt sysctl that everyone recommended
>> before)... Performance issue with firefox maybe :P? I don't see the
>> point of adding an additional layer to complicate the system (and
>> essentially slow it down) if all you're trying to do is better
>> describe the nice'ing problem, unless this logic is what you want to
>> do strictly for desktop users in PCBSD, etc who may not have the
>> technical wherewithal to accomplish this task.
>>
>> Besides, the Linux kernel has different compile time profiles for
>> different workloads, so maybe it just works better for them because
>> they already have a means for describing that functionality, whereas
>> FreeBSD is more generic.
>>
>> It would be nice to describe this in a document though so people could
>> also decide how to tune the system for themselves and not deal with a
>> patch like what's noted above by the penguin crowd because it will
>> invariably fail under some workloads or conditions (I have yet to see
>> a one-size-fits-all solution in this area).
>>
>> 
>> SCHED_ULE improvements though should be looked into if possible,
>> because there are some potential items that could be done to cluster
>> processes together better, maybe.
>> 

Ugh. Looks like this was the only machine that I setup recently where
I didn't set kern.hz...

Ok, will retry after building and installing a whole new world *queue
lame Disney music here* and kernel.

Thanks for the obvious reminder...

-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Oliver Pinter
My desktop running 7-STABLE with 100Hz and NOPREEMPT (it's a 4core SMP system),
I tested 8-STABLE, but that is not too responsive, the solution is:
100Hz NOPREEMPT + kern.sched.preempt_thresh=224
After this setting, the system is likely responsive as 7-STABLE.

On 11/19/10, Garrett Cooper  wrote:
> On Fri, Nov 19, 2010 at 1:10 PM, Oliver Pinter 
> wrote:
>> http://lkml.org/lkml/2010/11/16/392
>>
>> On 11/18/10, O. Hartmann  wrote:
>>> On 11/18/10 02:30, grarpamp wrote:
 Just documenting regarding interactive performance things.
 This one's from Linux.

 http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1
>>>
>>> Well,
>>> it would be nice to have those improvements in FreeBSD, but I doubt this
>>> will make it in due time to FreeBSD's kernel.
>
> And my one line fix:
>
> renice 10 `pidof firefox-bin`
>
> Instantly my system is snappier (and in fact my system got really
> laggy after applying the preempt sysctl that everyone recommended
> before)... Performance issue with firefox maybe :P? I don't see the
> point of adding an additional layer to complicate the system (and
> essentially slow it down) if all you're trying to do is better
> describe the nice'ing problem, unless this logic is what you want to
> do strictly for desktop users in PCBSD, etc who may not have the
> technical wherewithal to accomplish this task.
>
> Besides, the Linux kernel has different compile time profiles for
> different workloads, so maybe it just works better for them because
> they already have a means for describing that functionality, whereas
> FreeBSD is more generic.
>
> It would be nice to describe this in a document though so people could
> also decide how to tune the system for themselves and not deal with a
> patch like what's noted above by the penguin crowd because it will
> invariably fail under some workloads or conditions (I have yet to see
> a one-size-fits-all solution in this area).
>
> 
> SCHED_ULE improvements though should be looked into if possible,
> because there are some potential items that could be done to cluster
> processes together better, maybe.
> 
>
> Thanks,
> -Garrett
>
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Ivan Voras

On 11/19/10 16:49, Taku YAMAMOTO wrote:


I have a dumb local hack to grant ts_slice proportional to the duration
the waking thread slept rather than unconditionally reset to sched_slice.


--- sys/kern/sched_ule.c.orig
+++ sys/kern/sched_ule.c
@@ -1928,12 +1928,16 @@ sched_wakeup(struct thread *td)
u_int hzticks;

hzticks = (ticks - slptick)<<  SCHED_TICK_SHIFT;
+   if (hzticks>  SCHED_SLP_RUN_MAX)
+   hzticks = SCHED_SLP_RUN_MAX;
ts->ts_slptime += hzticks;
+   /* Grant additional slices after we sleep. */
+   ts->ts_slice += hzticks / tickincr;
+   if (ts->ts_slice > sched_slice)
+   ts->ts_slice = sched_slice;


If I read it correctly, now instead of the slice given to the thread 
being always sched_slice, now it is reduced to a value smaller than 
sched_slice based on how long did the thread sleep?


How does that help?


sched_interact_update(td);
sched_pctcpu_update(ts);
}
-   /* Reset the slice value after we sleep. */
-   ts->ts_slice = sched_slice;
sched_add(td, SRQ_BORING);
  }






___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Ivan Voras

On 11/19/10 19:15, Andriy Gapon wrote:

on 19/11/2010 20:02 Sean Bruno said the following:

What I've seen is that the long pause occurs between the display of the
SMAP (boot verbose) and the copywrite notice.  The delay gets worse with
larger memory maps.


How much memory do we talk about?


24 GB. I think I saw reports of larger memories so I don't think this is 
critical (unless something's wrong).



I wonder if it could be the code that touches each page to test its usability.
Some printf-profiling could be enlightening.


No printf debugging this time, I don't have physical access to it for 
the weekend (but have ssh).


Here's the CPU topology (correctly parsed, thankfully :) ), if someone's 
interested:




biggie# sysctl kern.sched.topology_spec
kern.sched.topology_spec: 
 
  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 
12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23

  
   
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11

 
  0, 1
  THREAD groupname="SMT">SMT group

 
 
  2, 3
  THREAD groupname="SMT">SMT group

 
 
  4, 5
  THREAD groupname="SMT">SMT group

 
 
  6, 7
  THREAD groupname="SMT">SMT group

 
 
  8, 9
  THREAD groupname="SMT">SMT group

 
 
  10, 11
  THREAD groupname="SMT">SMT group

 

   
   
12, 13, 14, 15, 16, 17, 18, 19, 20, 
21, 22, 23


 
  12, 13
  THREAD groupname="SMT">SMT group

 
 
  14, 15
  THREAD groupname="SMT">SMT group

 
 
  16, 17
  THREAD groupname="SMT">SMT group

 
 
  18, 19
  THREAD groupname="SMT">SMT group

 
 
  20, 21
  THREAD groupname="SMT">SMT group

 
 
  22, 23
  THREAD groupname="SMT">SMT group

 

   
  
 


___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Ivan Voras
On 19 November 2010 18:17, James R. Van Artsdalen
 wrote:
> Ivan Voras wrote:
>> Unfortunately, the kernel hangs on boot. The loader finishes, the twirly
>> starts spinning but then hangs. Enabling verbose booting results in
>> nothing new - no kernel messages at all.
>
> I don't think "loader finishes" is correct.  Can you break to the loader
> command line at the beastie menu?

Yes. Everything in the loader itself works fine, including hardware detection.

> At the time of the twirlie I think that the loader is copying the kernel
> to memory.  Perhaps it is having trouble with disk reads, or has a bad
> memory map.
>
> How many disks are attached, and what filesystem type does /boot live
> on?  And  what does Fixit mode see (from whatever installed that system)?

There are three RAID volumes visible to the system, and all three are
successfully detected and used.

root and /boot are completely standard UFS.

It is "legacy free" hardware in the sense that it doesn't have PS2
ports, and has the latest generation CPUs with a whole bunch of new
technologies.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Dan Nelson
In the last episode (Nov 19), Alexander Leidinger said:
> Quoting Alexander Best  (from Fri, 19 Nov 2010 00:17:10 
> +):
> > 17:51 @  Genesys : Luigi Rizzo had a plugabble scheduler back in 4.* or 
> > thereabouts
> > 17:51 @  Genesys : you could kldload new ones and switch to them on the fly
> > 17:52 @  arundel : wow. that sounds cool. too bad it didn't make it  
> > into src tree. by now it's probably outdated and needs to be reworked quite 
> > a bit.
> > 
> >
> > does anybody know something about this?
> 
> I'm aware of the I/O scheduling code (which is now available at least  
> in -current), but I do not remember CPU scheduling code from Luigi.  
> Are you sure Genesys didn't mix up something by accident?

I am rarely mixed up :)  A quick search didn't bring up a direct reference,
but here's a mention of it from Luigi:

http://lists.freebsd.org/pipermail/freebsd-hackers/2004-November/008891.html

-- 
Dan Nelson
dnel...@allantgroup.com
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Garrett Cooper
On Fri, Nov 19, 2010 at 1:10 PM, Oliver Pinter  wrote:
> http://lkml.org/lkml/2010/11/16/392
>
> On 11/18/10, O. Hartmann  wrote:
>> On 11/18/10 02:30, grarpamp wrote:
>>> Just documenting regarding interactive performance things.
>>> This one's from Linux.
>>>
>>> http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1
>>
>> Well,
>> it would be nice to have those improvements in FreeBSD, but I doubt this
>> will make it in due time to FreeBSD's kernel.

And my one line fix:

renice 10 `pidof firefox-bin`

Instantly my system is snappier (and in fact my system got really
laggy after applying the preempt sysctl that everyone recommended
before)... Performance issue with firefox maybe :P? I don't see the
point of adding an additional layer to complicate the system (and
essentially slow it down) if all you're trying to do is better
describe the nice'ing problem, unless this logic is what you want to
do strictly for desktop users in PCBSD, etc who may not have the
technical wherewithal to accomplish this task.

Besides, the Linux kernel has different compile time profiles for
different workloads, so maybe it just works better for them because
they already have a means for describing that functionality, whereas
FreeBSD is more generic.

It would be nice to describe this in a document though so people could
also decide how to tune the system for themselves and not deal with a
patch like what's noted above by the penguin crowd because it will
invariably fail under some workloads or conditions (I have yet to see
a one-size-fits-all solution in this area).


SCHED_ULE improvements though should be looked into if possible,
because there are some potential items that could be done to cluster
processes together better, maybe.


Thanks,
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Oliver Pinter
http://lkml.org/lkml/2010/11/16/392

On 11/18/10, O. Hartmann  wrote:
> On 11/18/10 02:30, grarpamp wrote:
>> Just documenting regarding interactive performance things.
>> This one's from Linux.
>>
>> http://www.phoronix.com/scan.php?page=article&item=linux_2637_video&num=1
>
> Well,
> it would be nice to have those improvements in FreeBSD, but I doubt this
> will make it in due time to FreeBSD's kernel.
> ___
> freebsd-sta...@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
>
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: www/chromium crashing whole system

2010-11-19 Thread Oliver Pinter
can you try disable the chrome sandbox feature?

chmod -s chrome-sandbox
mv chrome-sandbox chrome-sandbox.disabled_feature

and after this, the problem is still represented?

under linux with grsec path, with enabled sandbox, do not started, I
know, that is a fully different problem

On 11/19/10, Alexander Best  wrote:
> On Tue Nov 16 10, Robert N. M. Watson wrote:
>>
>> On 15 Nov 2010, at 22:19, Alexander Best wrote:
>>
>> > thanks for all your help. i've recently switched to chromium 6.0.472.63
>> > and so far my computer has been very stable.
>> >
>> > if i experience more lock ups i'll let you know and try to figure out a
>> > way to
>> > gain access to some more debugging data.
>>
>> I'd prefer we try to figure out why your system was crashing now -- the
>> kernel bug has not gone away just because Chromium is no longer triggering
>> it. Working around the bug means someone else gets to run into it later --
>> perhaps when it's 9.0-RELEASE rather than 9-CURRENT...
>
> "GOOD" news btw: the new chromium port just crashed my system. ;) so the
> issue is still there.
>
> and be issue i mean the code that triggers the crash.
>
>>
>> Robert
> --
> a13x
> ___
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"
>
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Chuck Swiger
On Nov 19, 2010, at 12:42 PM, Antony Mawer wrote:
> If you select any text in the message then click reply, it only quotes
> the selected text (not entirely intuitive, but that's the way they
> decided to make it work).


Ah, yes:

  https://bugzilla.mozilla.org/show_bug.cgi?id=23394

There's a standard for mail and news readers (GNKSA) which expects "Provides 
adequate quotation and attribution facilities"; it's expected that there should 
be a preference which allows a user to decide whether to quote all text or just 
the selected text when composing a reply.

Regards,
-- 
-Chuck

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Antony Mawer
On Sat, Nov 20, 2010 at 2:51 AM, Andriy Gapon  wrote:
> on 19/11/2010 17:41 Ivan Voras said the following:
>> Fujitsu TX300
>
> [Thunderbird 3 sometimes fails quoting while replying - blame it]

If you select any text in the message then click reply, it only quotes
the selected text (not entirely intuitive, but that's the way they
decided to make it work).

--Antony
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: aperf/mperf

2010-11-19 Thread Nate Lawson
On 11/19/2010 6:39 AM, Andriy Gapon wrote:
> 
> I am thinking about providing two APIs for this.
> 
> 1. KPI
> void cpu_get_a_m_perf(u_int cpu, uint64_t *aperf, uint64_t *mperf);
> 
> 2. Userland
> sysctl dev.cpu.N.aperf_mperf that returns two UQUAD values.
> 
> But I am not sure where to put the code for both APIs.
> Adding another device under cpu seems like an overkill.

These can be exported as a common interface from cpufreq
(dev,cpu.X.perf_stats) and supplied by the child acpi_perf driver on
each cpu.

-- 
Nate

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: [Call for Tests] PAT issue on Apple hardware

2010-11-19 Thread Jung-uk Kim
On Tuesday 16 November 2010 03:30 pm, Jung-uk Kim wrote:
> On Monday 15 November 2010 08:36 pm, Jung-uk Kim wrote:
> > Often times I hear complaints like "my Mac hangs after upgrading
> > to 8.1" or "snapshot CD hangs on my brand new Mac".  I know some
> > of these complaints started happening when we switched to new PAT
> > layout.  It is so puzzling because it never happened on non-Apple
> > hardware, AFAIK.  I really like to fix this problem but I cannot
> > afford a Mac. :-P
> >
> > If you are one of those lucky people, please test the attached
> > patch and report your hardware model and any improvement or
> > regression.
> >
> > Also, I added a new tunable "vm.pmap.pat_works" so that you can
> > turn it off from loader (i.e., "set vm.pmap.pat_works=0") and
> > restore old behaviour without recompiling a new kernel.
>
> I revised this patch to make it more robust.
>
> http://people.freebsd.org/~jkim/pat-current.diff
>
> Also, I prepared a patch for stable/8.  If you have recent Apple
> hardware and it hangs with 8.1 or stable/8, please test this patch.
>
> http://people.freebsd.org/~jkim/pat-stable.diff

Anyone?  I don't want to commit it blindly. :-(

Jung-uk Kim
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Sean Bruno
On Fri, 2010-11-19 at 09:08 -0800, Ivan Voras wrote:
> On 19 November 2010 18:04, Garrett Cooper  wrote:
> > A similar issue occurred with an HP box recently (in the last 3-4
> > months?). I'd check the archives for more details.
> 
> Yes, I remembered the post by Sean Bruno but then I also remembered
> people replying they have successfully booted larger machines than his
> or mine.
> 
> What is the last thing the loader does before booting the kernel?
> Enumberating memory regions?
> ___
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

What I've seen is that the long pause occurs between the display of the
SMAP (boot verbose) and the copywrite notice.  The delay gets worse with
larger memory maps.

Sean

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Jung-uk Kim
On Friday 19 November 2010 12:04 pm, Garrett Cooper wrote:
> On Fri, Nov 19, 2010 at 8:59 AM, Andriy Gapon  
wrote:
> > on 19/11/2010 18:57 Ivan Voras said the following:
> >> On 19 November 2010 17:13, Gary Jennejohn 
 wrote:
> >>> On Fri, 19 Nov 2010 17:51:22 +0200
> >>>
> >>> Andriy Gapon  wrote:
>  on 19/11/2010 17:41 Ivan Voras said the following:
> > Fujitsu TX300
> 
>  [Thunderbird 3 sometimes fails quoting while replying - blame
>  it]
> 
>  Perhaps I am wrong, but isn't the "twirly" shown by the
>  loader, still? Not sure if the kernel does that.
> >>>
> >>> Yup, that's the boot loader. �The kernel spits out printfs.
> >>
> >> Good news, of sorts - I left while I went for dinner and
> >> apparently it did boot in the meantime. So it's not a complete
> >> hang, it just takes unexpectedly long (10+ minutes?)
> >>
> >> I'm currently running "make -j24 buildworld" and once it boots
> >> it looks very fast!
> >
> > You ought to determine a cause of the long boot, though.
> > No compromises or excuses! :-)
>
> A similar issue occurred with an HP box recently (in the last 3-4
> months?). I'd check the archives for more details.

I bet these are "legacy free" machines, right?  I recently noticed 
that recent Intel chipsets cause incredibly long delays when 
non-existent ISA ports are accessed, most notably AT keyboard ports.  
(My gut tells me it is going in and out of SMM repeatedly for 
nothing.)  Back in the old days, when we had real ISA bus, it used to 
delay very short and fixed amount time.  Those days, this behaviour 
was even (ab)used as a delay function where a real timer is not 
available yet. ;-)

Try getting rid of all unnecessary device drivers from your kernel 
configuration.

Jung-uk Kim
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Andriy Gapon
on 19/11/2010 20:02 Sean Bruno said the following:
> What I've seen is that the long pause occurs between the display of the
> SMAP (boot verbose) and the copywrite notice.  The delay gets worse with
> larger memory maps.

How much memory do we talk about?
I wonder if it could be the code that touches each page to test its usability.
Some printf-profiling could be enlightening.

-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: taskqueue_create() name parameter lieftime

2010-11-19 Thread John Baldwin
On Friday, November 19, 2010 11:20:04 am Andriy Gapon wrote:
> on 16/11/2010 15:27 John Baldwin said the following:
> > On Tuesday, November 16, 2010 7:20:47 am Andriy Gapon wrote:
> >>
> >> taskqueue_create() documentation never explicitly says this, but current
> >> taskqueue_create() implementation just stores a 'name' pointer parameter
> >> internally.  Thus it depends on the 'name' having a life time encompassing 
> >> that of
> >> the taskqueue.
> >> I think that alternatively we could have copied the name (or a portion of 
> >> it) into
> >> an internal buffer.
> >> I don't any argument for either approach, just curious which one looks more
> >> preferable from general (FreeBSD, kernel) programming practices point of 
> >> view.
> > 
> > Hmm, in many other places we store a separate copy (e.g. all the interrupt
> > code uses separate MAXCOMLEN char arrays to hold names).  If that is easy to
> > do, that is probably the best approach.
> 
> BTW, tq_name doesn't seem to be used anywhere at all.
> Perhaps just drop it?  But still could be useful in a debugger, though.

If it's not used anywhere I would just drop it.

-- 
John Baldwin
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread James R. Van Artsdalen
Ivan Voras wrote:
> Unfortunately, the kernel hangs on boot. The loader finishes, the twirly
> starts spinning but then hangs. Enabling verbose booting results in
> nothing new - no kernel messages at all.

I don't think "loader finishes" is correct.  Can you break to the loader
command line at the beastie menu?

At the time of the twirlie I think that the loader is copying the kernel
to memory.  Perhaps it is having trouble with disk reads, or has a bad
memory map.

How many disks are attached, and what filesystem type does /boot live
on?  And  what does Fixit mode see (from whatever installed that system)?
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: [RFC] ifconfig description support in rc.d

2010-11-19 Thread Garrett Cooper
On Fri, Nov 19, 2010 at 2:55 AM, Sergey Kandaurov  wrote:
> On 11 October 2010 14:29, Hiroki Sato  wrote:
>> Hi,
>>
>> pluknet  wrote
>>  in :
>>
>> pl> On 27 August 2010 00:09, Doug Barton  wrote:
>> pl> > On 08/26/2010 12:53 PM, pluknet wrote:
>> pl> >>
>> pl> >> [cc'ing current@ as rc@ looks too quite]
>> pl> >>
>> pl> >> Hi.
>> pl> >>
>> pl> >> Since ifconfig has grown to label interfaces with
>> pl> >> ifconfig $ifname description "foobar", what about
>> pl> >> to give it more life and store i/face descriptions
>> pl> >> semi-permanently, so they will survive between reboots?
>> pl> >>
>> pl> >> This patch adds a functionality to rc.d to label
>> pl> >> interfaces at boot time.
>> pl> >>
>> pl> >> Comments are welcome.
>> pl> >
>> pl> > This seems like a good addition, thanks. Please also write a patch for
>> pl> > rc.conf.5 to describe this new functionality and I'll be happy to 
>> commit it.
>> pl>
>> pl> Xin Li helped me with updating rc.conf.5 (thanks!).
>> pl> It's included in attached patch.
>> (snip)
>> pl> >> +       # ifconfig_IF_descr
>> pl> >> +       for _if in `ifconfig -l`; do
>>
>>  I think using "ifconfig -l" here is not a good idea.  Setting a
>>  description for each interface in a function invoked by ifn_start()
>>  would be better.
>>
>>  This is beacuse the netif script can be run not only at boottime but
>>  also via devd or by hand for a specific interface.  So, if the
>>  ifnet_descr is there, "/etc/rc.d/netif start IF" does not make it
>>  run.  Since the description is a per-interface property,
>>  "/etc/rc.d/netif start IF" should set one, and "/etc/rc.d/netif stop
>>  IF" should clear one, IMHO.
>>
>>  Also, "ifconfig -l" is not compatible with $network_interfaces, so
>>  you need to use list_net_interface() for that purpose instead (if you
>>  move ifnet_descr() into ifn_start() it is useless, though).
>>
>
> Actually, both versions were developed at the same time.
> This one follows "netif" approach. Somehow it was rejected
> by me for some reasons which I don't remember for now.
> That's why I didn't include it to my original message.
>
> Please, see attached.

+   _ifdescr="`get_if_var $_if ifconfig_IF_descr`"
+   if [ ! -z "$_ifdescr" ]; then
+   ifconfig $_if descr "$_ifdescr"
+   fi
+
+   return 0

What if the above fails?
There are other potential problem areas as well in network.subr
(ifscript_up for instance).
Thanks,
-Garrett

> P.S.
> Google marks patches as (application/octet-stream). Bad Google.

Only if the extension isn't .patch (and it's not just Google -- blame
it on other software like Mailman as well) :)...
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: old references to vfs_mountroot_try()

2010-11-19 Thread Marcel Moolenaar

On Nov 19, 2010, at 2:09 AM, Sergey Kandaurov wrote:

> On 19 November 2010 02:14, Alexander Best  wrote:
>> hi there,
>> 
>> vfs_mountroot_try() seems to have been removed, yet the src still contains
>> three references to it:
>> 
>> vfs_mount.c:386
>> vfs_mount.c:723
>> freebsd32_misc.c:2368
>> 
> 
> So, what about just to rename those comments to reflect function name change?
> 
> Index: sys/kern/vfs_mount.c
> ===
> --- sys/kern/vfs_mount.c(revision 215516)
> +++ sys/kern/vfs_mount.c(working copy)
> @@ -383,7 +383,7 @@
> * Filter out MNT_ROOTFS.  We do not want clients of nmount() in
> * userspace to set this flag, but we must filter it out if we want
> * MNT_UPDATE on the root file system to work.
> -* MNT_ROOTFS should only be set in the kernel in vfs_mountroot_try().
> +* MNT_ROOTFS should only be set in the kernel in parse_mount().
> */
>uap->flags &= ~MNT_ROOTFS;
> 

Keep it vague. Just change the line to "MNT_ROOTFS should only be
set by the kernel when mounting its root file system".

The parse_mount() function name has no meaning other than within
sys/kern/vfs_mountroot.c, so referring to it isn't making things
clear.

FYI,

-- 
Marcel Moolenaar
xcl...@mac.com



___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Ivan Voras
On 19 November 2010 18:04, Garrett Cooper  wrote:
> A similar issue occurred with an HP box recently (in the last 3-4
> months?). I'd check the archives for more details.

Yes, I remembered the post by Sean Bruno but then I also remembered
people replying they have successfully booted larger machines than his
or mine.

What is the last thing the loader does before booting the kernel?
Enumberating memory regions?
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Ivan Voras
On 19 November 2010 17:59, Andriy Gapon  wrote:
> on 19/11/2010 18:57 Ivan Voras said the following:
>> On 19 November 2010 17:13, Gary Jennejohn  wrote:
>>> On Fri, 19 Nov 2010 17:51:22 +0200
>>> Andriy Gapon  wrote:
>>>
 on 19/11/2010 17:41 Ivan Voras said the following:
> Fujitsu TX300

 [Thunderbird 3 sometimes fails quoting while replying - blame it]

 Perhaps I am wrong, but isn't the "twirly" shown by the loader, still?
 Not sure if the kernel does that.

>>>
>>> Yup, that's the boot loader.  The kernel spits out printfs.
>>
>> Good news, of sorts - I left while I went for dinner and apparently it
>> did boot in the meantime. So it's not a complete hang, it just takes
>> unexpectedly long (10+ minutes?)
>>
>> I'm currently running "make -j24 buildworld" and once it boots it
>> looks very fast!
>
> You ought to determine a cause of the long boot, though.
> No compromises or excuses! :-)

Yes, it does bug me. It looked like a kernel hang (not loader) since
the machine didn't respond to ctrl-alt-del, only on cold boot.

No BIOS options seemed to help - not disabling SMP nor trying
different memory options or timings.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Garrett Cooper
On Fri, Nov 19, 2010 at 8:59 AM, Andriy Gapon  wrote:
> on 19/11/2010 18:57 Ivan Voras said the following:
>> On 19 November 2010 17:13, Gary Jennejohn  wrote:
>>> On Fri, 19 Nov 2010 17:51:22 +0200
>>> Andriy Gapon  wrote:
>>>
 on 19/11/2010 17:41 Ivan Voras said the following:
> Fujitsu TX300

 [Thunderbird 3 sometimes fails quoting while replying - blame it]

 Perhaps I am wrong, but isn't the "twirly" shown by the loader, still?
 Not sure if the kernel does that.

>>>
>>> Yup, that's the boot loader.  The kernel spits out printfs.
>>
>> Good news, of sorts - I left while I went for dinner and apparently it
>> did boot in the meantime. So it's not a complete hang, it just takes
>> unexpectedly long (10+ minutes?)
>>
>> I'm currently running "make -j24 buildworld" and once it boots it
>> looks very fast!
>
> You ought to determine a cause of the long boot, though.
> No compromises or excuses! :-)

A similar issue occurred with an HP box recently (in the last 3-4
months?). I'd check the archives for more details.
-Garrett
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Andriy Gapon
on 19/11/2010 18:57 Ivan Voras said the following:
> On 19 November 2010 17:13, Gary Jennejohn  wrote:
>> On Fri, 19 Nov 2010 17:51:22 +0200
>> Andriy Gapon  wrote:
>>
>>> on 19/11/2010 17:41 Ivan Voras said the following:
 Fujitsu TX300
>>>
>>> [Thunderbird 3 sometimes fails quoting while replying - blame it]
>>>
>>> Perhaps I am wrong, but isn't the "twirly" shown by the loader, still?
>>> Not sure if the kernel does that.
>>>
>>
>> Yup, that's the boot loader.  The kernel spits out printfs.
> 
> Good news, of sorts - I left while I went for dinner and apparently it
> did boot in the meantime. So it's not a complete hang, it just takes
> unexpectedly long (10+ minutes?)
> 
> I'm currently running "make -j24 buildworld" and once it boots it
> looks very fast!

You ought to determine a cause of the long boot, though.
No compromises or excuses! :-)

-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Ivan Voras
On 19 November 2010 17:13, Gary Jennejohn  wrote:
> On Fri, 19 Nov 2010 17:51:22 +0200
> Andriy Gapon  wrote:
>
>> on 19/11/2010 17:41 Ivan Voras said the following:
>> > Fujitsu TX300
>>
>> [Thunderbird 3 sometimes fails quoting while replying - blame it]
>>
>> Perhaps I am wrong, but isn't the "twirly" shown by the loader, still?
>> Not sure if the kernel does that.
>>
>
> Yup, that's the boot loader.  The kernel spits out printfs.

Good news, of sorts - I left while I went for dinner and apparently it
did boot in the meantime. So it's not a complete hang, it just takes
unexpectedly long (10+ minutes?)

I'm currently running "make -j24 buildworld" and once it boots it
looks very fast!
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Ivan Voras
On 19 November 2010 16:51, Andriy Gapon  wrote:
> on 19/11/2010 17:41 Ivan Voras said the following:
>> Fujitsu TX300
>
> [Thunderbird 3 sometimes fails quoting while replying - blame it]
>
> Perhaps I am wrong, but isn't the "twirly" shown by the loader, still?
> Not sure if the kernel does that.

Could be, I'll try more fiddling with BIOS.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: new cpuid bits

2010-11-19 Thread Gary Jennejohn
On Fri, 19 Nov 2010 17:39:53 +0200
Andriy Gapon  wrote:

> 
> Guys,
> 
> I would like to add definitions for couple more useful CPUID bits, but I am
> greatly confused about how to name them.
> I failed to deduce the naming convention from the existing definitions and I 
> am
> not sure how to make the names proper and descriptive.
> 
> The bits in question are returned by CPUID.6 in EAX and ECX.
> CPUID.6 block is described by both AMD and Intel as "Thermal and Power 
> Management
> (Leaf)".  Bits in EAX are defined only for Intel at present, the bit in ECX is
> defined for both.
> 
> Description/naming of the bits from the specifications:
> EAX[0]: Digital temperature sensor is supported if set
> EAX[1]: Intel Turbo Boost Technology Available
> EAX[2]: ARAT. APIC-Timer-always-running feature is supported if set.
> ECX[0]:
>   Intel: Hardware Coordination Feedback Capability (Presence of Bits MCNT and 
> ACNT
> MSRs).
>   AMD:  EffFreq: effective frequency interface.
> 
> How does the following look to you?
> I will appreciate suggestions/comments.
> Thanks!
> 
> Index: sys/amd64/include/specialreg.h
> ===
> --- sys/amd64/include/specialreg.h(revision 215524)
> +++ sys/amd64/include/specialreg.h(working copy)
> @@ -136,6 +136,15 @@
>  #define  CPUID2_AESNI0x0200
> 
>  /*
> + * Important bits in the Thermal and Power Management flags
> + * CPUID.6 EAX and ECX.
> + */
> +#define  CPUTPM1_SENSOR  0x0001
> +#define  CPUTPM1_TURBO   0x0002
> +#define  CPUTPM1_ARAT0x0004
> +#define  CPUTPM2_EFFREQ  0x0001
> +
> +/*
>   * Important bits in the AMD extended cpuid flags
>   */
>  #define  AMDID_SYSCALL   0x0800
> 

Maybe add a comment in which register the bits are to be found, like in the 
text?

-- 
Gary Jennejohn
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: taskqueue_create() name parameter lieftime

2010-11-19 Thread Andriy Gapon
on 16/11/2010 15:27 John Baldwin said the following:
> On Tuesday, November 16, 2010 7:20:47 am Andriy Gapon wrote:
>>
>> taskqueue_create() documentation never explicitly says this, but current
>> taskqueue_create() implementation just stores a 'name' pointer parameter
>> internally.  Thus it depends on the 'name' having a life time encompassing 
>> that of
>> the taskqueue.
>> I think that alternatively we could have copied the name (or a portion of 
>> it) into
>> an internal buffer.
>> I don't any argument for either approach, just curious which one looks more
>> preferable from general (FreeBSD, kernel) programming practices point of 
>> view.
> 
> Hmm, in many other places we store a separate copy (e.g. all the interrupt
> code uses separate MAXCOMLEN char arrays to hold names).  If that is easy to
> do, that is probably the best approach.

BTW, tq_name doesn't seem to be used anywhere at all.
Perhaps just drop it?  But still could be useful in a debugger, though.

Anyway, here is a possible change:
diff --git a/sys/kern/subr_taskqueue.c b/sys/kern/subr_taskqueue.c
index 49ddce2..9b8ae66 100644
--- a/sys/kern/subr_taskqueue.c
+++ b/sys/kern/subr_taskqueue.c
@@ -53,7 +53,6 @@ struct taskqueue_busy {

 struct taskqueue {
STAILQ_HEAD(, task) tq_queue;
-   const char  *tq_name;
taskqueue_enqueue_fntq_enqueue;
void*tq_context;
TAILQ_HEAD(, taskqueue_busy) tq_active;
@@ -62,6 +61,7 @@ struct taskqueue {
int tq_tcount;
int tq_spin;
int tq_flags;
+   chartq_name[MAXCOMLEN];
 };

 #defineTQ_FLAGS_ACTIVE (1 << 0)
@@ -106,7 +106,7 @@ _taskqueue_create(const char *name, int mflags,

STAILQ_INIT(&queue->tq_queue);
TAILQ_INIT(&queue->tq_active);
-   queue->tq_name = name;
+   strlcpy(queue->tq_name, name, sizeof(queue->tq_name));
queue->tq_enqueue = enqueue;
queue->tq_context = context;
queue->tq_spin = (mtxflags & MTX_SPIN) != 0;


-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Gary Jennejohn
On Fri, 19 Nov 2010 17:51:22 +0200
Andriy Gapon  wrote:

> on 19/11/2010 17:41 Ivan Voras said the following:
> > Fujitsu TX300
> 
> [Thunderbird 3 sometimes fails quoting while replying - blame it]
> 
> Perhaps I am wrong, but isn't the "twirly" shown by the loader, still?
> Not sure if the kernel does that.
> 

Yup, that's the boot loader.  The kernel spits out printfs.

-- 
Gary Jennejohn
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: A big-ish machine, cannot boot

2010-11-19 Thread Andriy Gapon
on 19/11/2010 17:41 Ivan Voras said the following:
> Fujitsu TX300

[Thunderbird 3 sometimes fails quoting while replying - blame it]

Perhaps I am wrong, but isn't the "twirly" shown by the loader, still?
Not sure if the kernel does that.

-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Taku YAMAMOTO
On Thu, 18 Nov 2010 21:30:16 +0100
"O. Hartmann"  wrote:

> On 11/18/10 19:55, Lucius Windschuh wrote:
> > 2010/11/18 Andriy Gapon:
> >> [Grouping of processes into TTY groups]
> >>
> >> Well, I think that those improvements apply only to a very specific usage 
> >> pattern
> >> and are greatly over-hyped.
> >
> > But there are serious issue if you use FreeBSD as a desktop OS with
> > SMP and SCHED_ULE, or?
> > Because currently, my machine is barely usable if a compile job with
> > parallelism is running. Movies stutter, Firefox hangs. And even nice
> > -n 20 doesn't do the job in every case, as +20 seems not to be the
> > idle priority anymore?!?
> > And using "idprio 1 $cmd" as a workaround is, well, a kludge.
> > I am not sure if TTY grouping is the right solution, if you look at
> > potentially CPU-intensive GUI applications that all run on the same
> > TTY (or no TTY at all? Same problem).
> > Maybe, we could simply enhance the algorithm that decides if a task is
> > interactive? That would also improve the described situation.
> >
> > Regards,
> >
> > Lucius
> 
> Stuttering Response, being stuck for over 20 seconds also happens when I 
> start updating the OS' sources via svn. This happens on all boxes, some 
> of them do have 8 cores (ob two CPUs) and plenty of RAM. Heavy disk I/O, 
> doesn't matter on UFS2 or ZFS, also brings boxes to stutter, those 
> phenomena are most seen when you interact with the machine via X11 
> clients. I think it's hard to realize if a server only does console I/O, 
> but console also seems to be stuck sometimes. It would be worth checking 
> this with some 'benchmark'. X11 in its kind of oldish incarnation on 
> FreeBSD seems to contribute most to those slowdowns, what so ever.

I guess schedulers can hardly distinguish heavy disk I/Os from nanosleep()s
and user-interactions; schedulers think both as voluntary sleep.

To make the matters worse, the current implementation of SCHED_ULE reassigns
ts_slice on sched_wakeup() no matter how short the sleep was.

I have a dumb local hack to grant ts_slice proportional to the duration
the waking thread slept rather than unconditionally reset to sched_slice.


--- sys/kern/sched_ule.c.orig
+++ sys/kern/sched_ule.c
@@ -1928,12 +1928,16 @@ sched_wakeup(struct thread *td)
u_int hzticks;
 
hzticks = (ticks - slptick) << SCHED_TICK_SHIFT;
+   if (hzticks > SCHED_SLP_RUN_MAX)
+   hzticks = SCHED_SLP_RUN_MAX;
ts->ts_slptime += hzticks;
+   /* Grant additional slices after we sleep. */
+   ts->ts_slice += hzticks / tickincr;
+   if (ts->ts_slice > sched_slice)
+   ts->ts_slice = sched_slice;
sched_interact_update(td);
sched_pctcpu_update(ts);
}
-   /* Reset the slice value after we sleep. */
-   ts->ts_slice = sched_slice;
sched_add(td, SRQ_BORING);
 }
 


-- 
-|-__   YAMAMOTO, Taku
 | __ < 

  - A chicken is an egg's way of producing more eggs. -
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: aperf/mperf

2010-11-19 Thread Andriy Gapon

[looks like I originally sent the reply only privately]

on 19/11/2010 16:50 Daniel Nebdal said the following:
> On Fri, Nov 19, 2010 at 4:39 PM, Andriy Gapon  wrote:
>>
>> I am thinking about providing two APIs for this.
>>
>> 1. KPI
>> void cpu_get_a_m_perf(u_int cpu, uint64_t *aperf, uint64_t *mperf);
>>
>> 2. Userland
>> sysctl dev.cpu.N.aperf_mperf that returns two UQUAD values.
>>
>> But I am not sure where to put the code for both APIs.
>> Adding another device under cpu seems like an overkill.
>>
>> Ideas?
>> Thanks!
> 
> No comment on where to put it, but one other detail: Since these are
> measures since last reset, you probably want a similar
> "cpu_zero_a_m_perf" call. As for how that interacts with the sysctl,
> uhm ... maybe also offering a time-since-last-reset could be useful?
> 

I have something else in mind - no reset, but you call cpu_get_a_m_perf() twice,
take differences in the counters (accounting for possible overflows) and divide
those deltas.
In my opinion that should work.

-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


A big-ish machine, cannot boot

2010-11-19 Thread Ivan Voras
I have a large-ish marchine, a Fujitsu TX300 S6 with 2x6-core + HTT CPUs
and 24 GB RAM, configured as a demo machine with lots of interesting
hardware.

Unfortunately, the kernel hangs on boot. The loader finishes, the twirly
starts spinning but then hangs. Enabling verbose booting results in
nothing new - no kernel messages at all.

Any ideas?

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


new cpuid bits

2010-11-19 Thread Andriy Gapon

Guys,

I would like to add definitions for couple more useful CPUID bits, but I am
greatly confused about how to name them.
I failed to deduce the naming convention from the existing definitions and I am
not sure how to make the names proper and descriptive.

The bits in question are returned by CPUID.6 in EAX and ECX.
CPUID.6 block is described by both AMD and Intel as "Thermal and Power 
Management
(Leaf)".  Bits in EAX are defined only for Intel at present, the bit in ECX is
defined for both.

Description/naming of the bits from the specifications:
EAX[0]: Digital temperature sensor is supported if set
EAX[1]: Intel Turbo Boost Technology Available
EAX[2]: ARAT. APIC-Timer-always-running feature is supported if set.
ECX[0]:
  Intel: Hardware Coordination Feedback Capability (Presence of Bits MCNT and 
ACNT
MSRs).
  AMD:  EffFreq: effective frequency interface.

How does the following look to you?
I will appreciate suggestions/comments.
Thanks!

Index: sys/amd64/include/specialreg.h
===
--- sys/amd64/include/specialreg.h  (revision 215524)
+++ sys/amd64/include/specialreg.h  (working copy)
@@ -136,6 +136,15 @@
 #defineCPUID2_AESNI0x0200

 /*
+ * Important bits in the Thermal and Power Management flags
+ * CPUID.6 EAX and ECX.
+ */
+#defineCPUTPM1_SENSOR  0x0001
+#defineCPUTPM1_TURBO   0x0002
+#defineCPUTPM1_ARAT0x0004
+#defineCPUTPM2_EFFREQ  0x0001
+
+/*
  * Important bits in the AMD extended cpuid flags
  */
 #defineAMDID_SYSCALL   0x0800

-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: www/chromium crashing whole system

2010-11-19 Thread Alexander Best
On Tue Nov 16 10, Robert N. M. Watson wrote:
> 
> On 15 Nov 2010, at 22:19, Alexander Best wrote:
> 
> > thanks for all your help. i've recently switched to chromium 6.0.472.63
> > and so far my computer has been very stable.
> > 
> > if i experience more lock ups i'll let you know and try to figure out a way 
> > to
> > gain access to some more debugging data.
> 
> I'd prefer we try to figure out why your system was crashing now -- the 
> kernel bug has not gone away just because Chromium is no longer triggering 
> it. Working around the bug means someone else gets to run into it later -- 
> perhaps when it's 9.0-RELEASE rather than 9-CURRENT...

"GOOD" news btw: the new chromium port just crashed my system. ;) so the issue 
is still there.

and be issue i mean the code that triggers the crash.

> 
> Robert
-- 
a13x
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Jeremy Chadwick
On Fri, Nov 19, 2010 at 02:18:52PM +, Vincent Hoffman wrote:
> On 19/11/2010 12:42, Eric Masson wrote:
> > Bruce Cran  writes:
> >
> > Hello,
> >
> >> Google suggests that the work was a GSoC project in 2005 on a pluggable
> >> disk scheduler.
> > It seems that something similar has found its way in DFlyBSD, dsched.
> And indeed to FreeBSD, man gsched. Added sometime round April
> http://svn.freebsd.org/viewvc/base/head/sys/geom/sched/README?view=log

It's been pointed out on the list a couple times, and I've sent mail to
the authors about this, that gsched breaks (very, very badly) things
like sysinstall, and does other strange things like leaves trailing
periods at the end of its ".sched." labels.  This appears to be by
design, but I'm still left thinking "?!"  It's hard to discern technical
innards/workings of GEOM since the documentation is so poor (and reading
the code doesn't help, especially with regards to libgeom).

IMHO, the gsched "stuff", as a "layer", should probably be moved into
the I/O framework by default, with the functionality *disabled* by
default and tunables to adjust it.  That's just how I feel about it.

-- 
| Jeremy Chadwick   j...@parodius.com |
| Parodius Networking   http://www.parodius.com/ |
| UNIX Systems Administrator  Mountain View, CA, USA |
| Making life hard for others since 1977.  PGP: 4BD6C0CB |

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: aperf/mperf

2010-11-19 Thread Daniel Nebdal
On Fri, Nov 19, 2010 at 4:39 PM, Andriy Gapon  wrote:
>
> I am thinking about providing two APIs for this.
>
> 1. KPI
> void cpu_get_a_m_perf(u_int cpu, uint64_t *aperf, uint64_t *mperf);
>
> 2. Userland
> sysctl dev.cpu.N.aperf_mperf that returns two UQUAD values.
>
> But I am not sure where to put the code for both APIs.
> Adding another device under cpu seems like an overkill.
>
> Ideas?
> Thanks!


No comment on where to put it, but one other detail: Since these are
measures since last reset, you probably want a similar
"cpu_zero_a_m_perf" call. As for how that interacts with the sysctl,
uhm ... maybe also offering a time-since-last-reset could be useful?

--
Daniel Nebdal
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: aperf/mperf

2010-11-19 Thread Andriy Gapon

I am thinking about providing two APIs for this.

1. KPI
void cpu_get_a_m_perf(u_int cpu, uint64_t *aperf, uint64_t *mperf);

2. Userland
sysctl dev.cpu.N.aperf_mperf that returns two UQUAD values.

But I am not sure where to put the code for both APIs.
Adding another device under cpu seems like an overkill.

Ideas?
Thanks!
-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Vincent Hoffman
On 19/11/2010 12:42, Eric Masson wrote:
> Bruce Cran  writes:
>
> Hello,
>
>> Google suggests that the work was a GSoC project in 2005 on a pluggable
>> disk scheduler.
> It seems that something similar has found its way in DFlyBSD, dsched.
And indeed to FreeBSD, man gsched. Added sometime round April
http://svn.freebsd.org/viewvc/base/head/sys/geom/sched/README?view=log


Vince

> Éric Masson
>

___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Eric Masson
Bruce Cran  writes:

Hello,

> Google suggests that the work was a GSoC project in 2005 on a pluggable
> disk scheduler.

It seems that something similar has found its way in DFlyBSD, dsched.

Éric Masson

-- 
 manquerait plus que les groupes soient pollués. c'est beaucoup plus
 grave que des plages bretonnes à deux francs qui étaient déjà polluées
 par ces salopards de volatiles. dieu merci, il n'y en aura bientôt plus
 -+- tilt in http://www.le-gnu.net : Les oiseaux sont des cons.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Andriy Gapon
on 18/11/2010 22:20 Julian Elischer said the following:
> tty grouping is a variant of what we used to have at one stage which is
> a "kernel schedulable entity group".. KSEG

Or rather, I think, a concrete application of a variant of that.

> the idea is that all items in a group share some characteristic and some 
> amount
> of resources.
> 
> We stripped the KSEG out of the picture because it really complicated the 
> picture.

Yes, unfortunately.
One can think about a number of applications for hierarchical schedulable
resources.  Even one-level group scheduling could be a very useful subcase.

BTW, http://www.mjmwired.net/kernel/Documentation/cgroups.txt
-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: Testing /dev/fido ?

2010-11-19 Thread Ivan Voras
On 19 November 2010 01:56, Sean Bruno  wrote:
> On Thu, 2010-11-18 at 13:17 -0800, Ivan Voras wrote:
>> I have an IPMI-enabled server with BMC watchdog, and if I understand it
>> correctly, /dev/fido will be attached as the result of loading ipmi.ko.
>>
>> Is there some easy way to test if everything works?
>
> I *think* that if you panic the box to the debugger, that should put the
> machine into a state where the watchdog will fire right?

Heh, unfortunately it seems to not work at all, in the sense that the
OS (i have watchdogd running!) apparently doesn't communicate to IPMI
that it's alive and IPMI resets the system out of the blue when that
feature is enabled.

Any ideas where to dig for problems? I have ipmi.ko loaded and
watchdogd started - is there something else I should do?

dmesg ipmi messages are:

> dmesg |grep ipmi
ipmi0:  on isa0
ipmi0: KCS mode found at io 0xca2 alignment 0x1 on isa
ipmi0: IPMI device rev. 1, firmware rev. 2.2, version 2.0
ipmi0: Number of channels 2
ipmi0: Attached watchdog
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: old references to vfs_mountroot_try()

2010-11-19 Thread Alexander Best
On Fri Nov 19 10, Sergey Kandaurov wrote:
> On 19 November 2010 02:14, Alexander Best  wrote:
> > hi there,
> >
> > vfs_mountroot_try() seems to have been removed, yet the src still contains
> > three references to it:
> >
> > vfs_mount.c:386
> > vfs_mount.c:723
> > freebsd32_misc.c:2368
> >
> 
> So, what about just to rename those comments to reflect function name change?

that looks fine. i don't know anything about vfs, so i simply figured out that
the reference to vfs_mountroot_try() was not right anymore, but couldn't find
where MNT_ROOTFS is now being set.

...so its parse_mount(). :)

could you commit that?

cheers.
alex

> 
> Index: sys/kern/vfs_mount.c
> ===
> --- sys/kern/vfs_mount.c(revision 215516)
> +++ sys/kern/vfs_mount.c(working copy)
> @@ -383,7 +383,7 @@
>  * Filter out MNT_ROOTFS.  We do not want clients of nmount() in
>  * userspace to set this flag, but we must filter it out if we want
>  * MNT_UPDATE on the root file system to work.
> -* MNT_ROOTFS should only be set in the kernel in vfs_mountroot_try().
> +* MNT_ROOTFS should only be set in the kernel in parse_mount().
>  */
> uap->flags &= ~MNT_ROOTFS;
> 
> @@ -720,7 +720,7 @@
>  * Filter out MNT_ROOTFS.  We do not want clients of mount() in
>  * userspace to set this flag, but we must filter it out if we want
>  * MNT_UPDATE on the root file system to work.
> -* MNT_ROOTFS should only be set in the kernel in vfs_mountroot_try().
> +* MNT_ROOTFS should only be set in the kernel in parse_mount().
>  */
> uap->flags &= ~MNT_ROOTFS;
> 
> Index: sys/compat/freebsd32/freebsd32_misc.c
> ===
> --- sys/compat/freebsd32/freebsd32_misc.c   (revision 215516)
> +++ sys/compat/freebsd32/freebsd32_misc.c   (working copy)
> @@ -2365,7 +2365,7 @@
>  * Filter out MNT_ROOTFS.  We do not want clients of nmount() in
>  * userspace to set this flag, but we must filter it out if we want
>  * MNT_UPDATE on the root file system to work.
> -* MNT_ROOTFS should only be set in the kernel in vfs_mountroot_try().
> +* MNT_ROOTFS should only be set in the kernel in parse_mount().
>  */
> uap->flags &= ~MNT_ROOTFS;
> 
> -- 
> wbr,
> pluknet

-- 
a13x
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Alexander Leidinger


Quoting Alexander Best  (from Fri, 19 Nov 2010  
00:17:10 +):



17:51 @  Genesys : Luigi Rizzo had a plugabble scheduler back in 4.* or \
thereabouts
17:51 @  Genesys : you could kldload new ones and switch to them on the fly
17:52 @  arundel : wow. that sounds cool. too bad it didn't make it  
into src \

tree. by now it's probably outdated and needs to be reworked quite a bit.


does anybody know something about this?


I'm aware of the I/O scheduling code (which is now available at least  
in -current), but I do not remember CPU scheduling code from Luigi.  
Are you sure Genesys didn't mix up something by accident?


Bye,
Alexander.

--
Ferengi Rule of Acquisition #123:
Even a blind man can recognize the glow of latinum.
-- ST: Legends of the Ferengi

http://www.Leidinger.netAlexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org   netchild @ FreeBSD.org  : PGP ID = 72077137
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Bruce Cran
On Fri, 19 Nov 2010 00:17:10 +
Alexander Best  wrote:

> 17:51 @  Genesys : Luigi Rizzo had a plugabble scheduler back in 4.*
> or \ thereabouts
> 17:51 @  Genesys : you could kldload new ones and switch to them on
> the fly 17:52 @  arundel : wow. that sounds cool. too bad it didn't
> make it into src \ tree. by now it's probably outdated and needs to
> be reworked quite a bit. 
> 
> does anybody know something about this?

Google suggests that the work was a GSoC project in 2005 on a pluggable
disk scheduler.

-- 
Bruce Cran
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: [RFC] ifconfig description support in rc.d

2010-11-19 Thread Sergey Kandaurov
On 11 October 2010 14:29, Hiroki Sato  wrote:
> Hi,
>
> pluknet  wrote
>  in :
>
> pl> On 27 August 2010 00:09, Doug Barton  wrote:
> pl> > On 08/26/2010 12:53 PM, pluknet wrote:
> pl> >>
> pl> >> [cc'ing current@ as rc@ looks too quite]
> pl> >>
> pl> >> Hi.
> pl> >>
> pl> >> Since ifconfig has grown to label interfaces with
> pl> >> ifconfig $ifname description "foobar", what about
> pl> >> to give it more life and store i/face descriptions
> pl> >> semi-permanently, so they will survive between reboots?
> pl> >>
> pl> >> This patch adds a functionality to rc.d to label
> pl> >> interfaces at boot time.
> pl> >>
> pl> >> Comments are welcome.
> pl> >
> pl> > This seems like a good addition, thanks. Please also write a patch for
> pl> > rc.conf.5 to describe this new functionality and I'll be happy to 
> commit it.
> pl>
> pl> Xin Li helped me with updating rc.conf.5 (thanks!).
> pl> It's included in attached patch.
> (snip)
> pl> >> +       # ifconfig_IF_descr
> pl> >> +       for _if in `ifconfig -l`; do
>
>  I think using "ifconfig -l" here is not a good idea.  Setting a
>  description for each interface in a function invoked by ifn_start()
>  would be better.
>
>  This is beacuse the netif script can be run not only at boottime but
>  also via devd or by hand for a specific interface.  So, if the
>  ifnet_descr is there, "/etc/rc.d/netif start IF" does not make it
>  run.  Since the description is a per-interface property,
>  "/etc/rc.d/netif start IF" should set one, and "/etc/rc.d/netif stop
>  IF" should clear one, IMHO.
>
>  Also, "ifconfig -l" is not compatible with $network_interfaces, so
>  you need to use list_net_interface() for that purpose instead (if you
>  move ifnet_descr() into ifn_start() it is useless, though).
>

Actually, both versions were developed at the same time.
This one follows "netif" approach. Somehow it was rejected
by me for some reasons which I don't remember for now.
That's why I didn't include it to my original message.

Please, see attached.

-- 
wbr,
pluknet

P.S.
Google marks patches as (application/octet-stream). Bad Google.


descr.rc.d.netif.patch
Description: Binary data
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Re: old references to vfs_mountroot_try()

2010-11-19 Thread Sergey Kandaurov
On 19 November 2010 02:14, Alexander Best  wrote:
> hi there,
>
> vfs_mountroot_try() seems to have been removed, yet the src still contains
> three references to it:
>
> vfs_mount.c:386
> vfs_mount.c:723
> freebsd32_misc.c:2368
>

So, what about just to rename those comments to reflect function name change?

Index: sys/kern/vfs_mount.c
===
--- sys/kern/vfs_mount.c(revision 215516)
+++ sys/kern/vfs_mount.c(working copy)
@@ -383,7 +383,7 @@
 * Filter out MNT_ROOTFS.  We do not want clients of nmount() in
 * userspace to set this flag, but we must filter it out if we want
 * MNT_UPDATE on the root file system to work.
-* MNT_ROOTFS should only be set in the kernel in vfs_mountroot_try().
+* MNT_ROOTFS should only be set in the kernel in parse_mount().
 */
uap->flags &= ~MNT_ROOTFS;

@@ -720,7 +720,7 @@
 * Filter out MNT_ROOTFS.  We do not want clients of mount() in
 * userspace to set this flag, but we must filter it out if we want
 * MNT_UPDATE on the root file system to work.
-* MNT_ROOTFS should only be set in the kernel in vfs_mountroot_try().
+* MNT_ROOTFS should only be set in the kernel in parse_mount().
 */
uap->flags &= ~MNT_ROOTFS;

Index: sys/compat/freebsd32/freebsd32_misc.c
===
--- sys/compat/freebsd32/freebsd32_misc.c   (revision 215516)
+++ sys/compat/freebsd32/freebsd32_misc.c   (working copy)
@@ -2365,7 +2365,7 @@
 * Filter out MNT_ROOTFS.  We do not want clients of nmount() in
 * userspace to set this flag, but we must filter it out if we want
 * MNT_UPDATE on the root file system to work.
-* MNT_ROOTFS should only be set in the kernel in vfs_mountroot_try().
+* MNT_ROOTFS should only be set in the kernel in parse_mount().
 */
uap->flags &= ~MNT_ROOTFS;

-- 
wbr,
pluknet
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Andriy Gapon
on 19/11/2010 00:55 Daniel Nebdal said the following:
> On Fri, Nov 19, 2010 at 12:06 AM, Alexander Kabaev  wrote:
>> On Thu, 18 Nov 2010 18:56:35 +
>> Alexander Best  wrote:
>>> well...i tried playing back a 1080p vide files while doing
>>> `make -j64 buildkernel` and FreeBSD's interactivity seems far from
>>> perfect.
>>
>> One thing that just begs to be asked: since when decoding 1080p became
>> an interactive task?
>>
> 
> Strictly speaking it isn't - but displaying it is a timing-sensitive
> task that isn't CPU- or I/O-bound, and scheduling-wise that probably

Well, I am not sure if I can agree about CPU-bound-ness.
Depends on the exact video file, of course, but certain high-quality 1080p are
very CPU intensive unless decoding is offloaded from the CPU.  Depends on
decoder code too.  I had some videos that were CPU-bound on my Athlon II X2 250
with then-version of mplayer from ports.

YMMV.
-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"


Re: TTY task group scheduling

2010-11-19 Thread Andriy Gapon
on 18/11/2010 20:56 Alexander Best said the following:
> On Thu Nov 18 10, Matthew D. Fuller wrote:
>> On Thu, Nov 18, 2010 at 06:23:24PM + I heard the voice of
>> Alexander Best, and lo! it spake thus:
>>>
>>> judging from the videos the changes are having a huge impact imo.
>>
>> Well, my (admittedly limited, and certainly anecdotal) experience is
>> that Linux's interactive response when under heavy load was always
>> much worse than FreeBSD's.  So maybe that's just them catching up to
>> where we already are   ;)
> 
> well...i tried playing back a 1080p vide files while doing
> `make -j64 buildkernel` and FreeBSD's interactivity seems far from perfect.
> 
> it might be possible that linux'es interactivity was worse than freebsd's,
> but still this patch should be evaluated for freebsd. in this particular case
> it seems linux now does better than freebsd.

You do realize that there are many more variables for such a test than just
"1080p video" and "make -j64 buildkernel"?
Let's not forget about hardware, video drivers, player capabilities, exact kind
of the video (you know, 1080p alone doesn't tell much).

Besides, someone might be interested in running -j64 on his 1,2,4-core desktop
system, but it's definitely not me.  I prefer to be reasonable.

I am not saying that our scheduler (ULE) is perfect.
I don't even say that it's better (in whatever comparison system) than Linux
scheduler X.

I say that I wouldn't spend my time improving system behavior in a scenario like
this.  I compile stuff very frequently (kernels, ports, world) while browsing
web, reading email, doing various "desktop stuff", sometimes watching  videos
from the web (like e.g. trailers).  On this machine/hardware I have never
personally felt a need for improvements in the scheduler.  And I run KDE4 with
all bells and whistles enabled.

YMMV.

P.S. I don't discourage anyone from improving our scheduler, I even do encourage
that.

-- 
Andriy Gapon
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"