Hi Linaro-dev list,
I'm trying to set up my Pandaboard as a small server using a 3G USB dongle.
I'm trying to set up a PPP connection to my provider, but pppd is complaining: "Couldn't set tty to PPP discipline: Invalid argument"
My google-foo tells me that this could be the result of some disabled kernel configs, speficially PPP_ASYNC and PPP_SYNC_TTY -
http://lists.debian.org/debian-user/2002/09/msg01810.html
linaro@linarotv-xbmc:/etc/ppp$ grep "PPP" /boot/config-3.1.1-8-linaro-lt-omap
CONFIG_PPP=m
# CONFIG_PPPOE is not set
# CONFIG_PPP_ASYNC is not set
# CONFIG_PPP_BSDCOMP is not set
# CONFIG_PPP_DEFLATE is not set
# CONFIG_PPP_FILTER is not set
# CONFIG_PPP_MPPE is not set
# CONFIG_PPP_MULTILINK is not set
# CONFIG_PPP_SYNC_TTY is not set
linaro@linarotv-xbmc:/etc/ppp$ uname -a
Linux linarotv-xbmc 3.1.1-8-linaro-lt-omap #8~lt~ci~20120118001257+025756-Ubuntu SMP PREEMPT Thu Jan 19 09: armv7l armv7l armv7l GNU/Linux
Would it be possible to enable these config options in the nightly build so I can try with a new kernel tomorrow? Otherwise I can spend the time
to build my own kernel and report back if that's the route you'd rather take.
Cheers,
Etienne Le Sueur
Generalize CONFIG_IRQ_TIME_ACCOUNTING between X86 and
ARM, move "noirqtime=" option to common debugging code.
Signed-off-by: Dmitry Antipov <dmitry.antipov(a)linaro.org>
---
arch/arm/kernel/sched_clock.c | 3 +++
arch/x86/Kconfig | 11 -----------
arch/x86/kernel/tsc.c | 4 ----
include/linux/sched.h | 2 ++
lib/Kconfig.debug | 12 ++++++++++++
lib/Makefile | 2 ++
lib/irqtime.c | 12 ++++++++++++
7 files changed, 31 insertions(+), 15 deletions(-)
create mode 100644 lib/irqtime.c
diff --git a/arch/arm/kernel/sched_clock.c b/arch/arm/kernel/sched_clock.c
index 5416c7c..56d2a9d 100644
--- a/arch/arm/kernel/sched_clock.c
+++ b/arch/arm/kernel/sched_clock.c
@@ -162,5 +162,8 @@ void __init sched_clock_postinit(void)
if (read_sched_clock == jiffy_sched_clock_read)
setup_sched_clock(jiffy_sched_clock_read, 32, HZ);
+ if (!no_sched_irq_time)
+ enable_sched_clock_irqtime();
+
sched_clock_poll(sched_clock_timer.data);
}
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5bed94e..4759676 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -805,17 +805,6 @@ config SCHED_MC
making when dealing with multi-core CPU chips at a cost of slightly
increased overhead in some places. If unsure say N here.
-config IRQ_TIME_ACCOUNTING
- bool "Fine granularity task level IRQ time accounting"
- default n
- ---help---
- Select this option to enable fine granularity task irq time
- accounting. This is done by reading a timestamp on each
- transitions between softirq and hardirq state, so there can be a
- small performance impact.
-
- If in doubt, say N here.
-
source "kernel/Kconfig.preempt"
config X86_UP_APIC
diff --git a/arch/x86/kernel/tsc.c b/arch/x86/kernel/tsc.c
index a62c201..a3a5465 100644
--- a/arch/x86/kernel/tsc.c
+++ b/arch/x86/kernel/tsc.c
@@ -103,14 +103,10 @@ int __init notsc_setup(char *str)
__setup("notsc", notsc_setup);
-static int no_sched_irq_time;
-
static int __init tsc_setup(char *str)
{
if (!strcmp(str, "reliable"))
tsc_clocksource_reliable = 1;
- if (!strncmp(str, "noirqtime", 9))
- no_sched_irq_time = 1;
return 1;
}
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 7d379a6..b3575b5 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -1966,9 +1966,11 @@ extern void sched_clock_idle_wakeup_event(u64 delta_ns);
* The reason for this explicit opt-in is not to have perf penalty with
* slow sched_clocks.
*/
+extern int no_sched_irq_time;
extern void enable_sched_clock_irqtime(void);
extern void disable_sched_clock_irqtime(void);
#else
+#define no_sched_irq_time 1
static inline void enable_sched_clock_irqtime(void) {}
static inline void disable_sched_clock_irqtime(void) {}
#endif
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8745ac7..a55287e 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -299,6 +299,18 @@ config SCHEDSTATS
application, you can say N to avoid the very slight overhead
this adds.
+config IRQ_TIME_ACCOUNTING
+ bool "Fine granularity task level IRQ time accounting"
+ depends on DEBUG_KERNEL && (X86 || (ARM && HAVE_SCHED_CLOCK))
+ default n
+ ---help---
+ Select this option to enable fine granularity task irq time
+ accounting. This is done by reading a timestamp on each
+ transitions between softirq and hardirq state, so there can be a
+ small performance impact.
+
+ If in doubt, say N here.
+
config TIMER_STATS
bool "Collect kernel timers statistics"
depends on DEBUG_KERNEL && PROC_FS
diff --git a/lib/Makefile b/lib/Makefile
index 18515f0..44d67d4 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -49,6 +49,8 @@ obj-$(CONFIG_DEBUG_PREEMPT) += smp_processor_id.o
obj-$(CONFIG_DEBUG_LIST) += list_debug.o
obj-$(CONFIG_DEBUG_OBJECTS) += debugobjects.o
+obj-$(CONFIG_IRQ_TIME_ACCOUNTING) += irqtime.o
+
ifneq ($(CONFIG_HAVE_DEC_LOCK),y)
lib-y += dec_and_lock.o
endif
diff --git a/lib/irqtime.c b/lib/irqtime.c
new file mode 100644
index 0000000..10d440d
--- /dev/null
+++ b/lib/irqtime.c
@@ -0,0 +1,12 @@
+#include <linux/kernel.h>
+#include <linux/sched.h>
+
+int no_sched_irq_time;
+
+static int __init irqtime_setup(char *str)
+{
+ no_sched_irq_time = 1;
+ return 1;
+}
+
+__setup("noirqtime", irqtime_setup);
--
1.7.7.6
Greetings,
Hope everyone is enjoying connect so far.
This is a reminder for the coming release dates:
* Linaro 12.02 Toolchain WG release February 9, 2012.
* Linaro 12.02 Platform/WGs/LTs is February 16, 2012.
* Linaro 12.02 Release Candidate is February 20, 2012.
* Linaro 12.02 Release images is February 23, 2012.
* Linaro 12.02 release is UTC 16:00, February 23, 2012.
The release calendar for this cycle can be found here:
https://wiki.linaro.org/Cycles/1202/Release/Calendar
--
David Zinman
Linaro Release Manager | Project Manager
Linaro.org | Open source software for ARM SoCs
PATCH 1) [thermal: Add a new trip type to use cooling device instance number]
This patch adds a new trip type THERMAL_TRIP_STATE_ACTIVE which passes
cooling device instance number and may be helpful for cpufreq cooling devices
to take the correct cooling action.
PATCH 2) [thermal: Add generic cpu cooling implementation]
This patch adds generic cpu cooling low level implementation through frequency
clipping and cpu hotplug. In future, other cpu related cooling devices may be
added here. An ACPI version of this already exists(drivers/acpi/processor_thermal.c).
But this will be useful for platforms like ARM using the generic thermal interface
along with the generic cpu cooling devices. The cooling device registration API's
return cooling device pointers which can be easily binded with the thermal zone
trip points.
Amit Daniel Kachhap (2):
thermal: Add a new trip type to use cooling device instance number
thermal: Add generic cpu cooling implementation
Documentation/thermal/cpu-cooling-api.txt | 52 +++++
Documentation/thermal/sysfs-api.txt | 4 +-
drivers/thermal/Kconfig | 11 +
drivers/thermal/Makefile | 1 +
drivers/thermal/cpu_cooling.c | 302 +++++++++++++++++++++++++++++
drivers/thermal/thermal_sys.c | 27 +++-
include/linux/cpu_cooling.h | 45 +++++
include/linux/thermal.h | 1 +
8 files changed, 440 insertions(+), 3 deletions(-)
create mode 100644 Documentation/thermal/cpu-cooling-api.txt
create mode 100644 drivers/thermal/cpu_cooling.c
create mode 100644 include/linux/cpu_cooling.h
On Tue, 2012-02-07 at 17:52 +0530, Ashish Jangam wrote:
> Can you consider adding yourself or David as maintainer ? Not a must,
> but no one else would really be able to support the driver.
Thank for this, you can add my name.
> > +Supported chips:
> > + * Dialog Semiconductors DA9052-BC and DA9053-AA/Bx PMICs
> > + Prefix: 'da9052'
> > + Datasheet: Kindly visit www.dialog-semiconductor.com and request for the
> > + official datasheet.
> > +
> Maybe, but that doesn't seem to be straightforward. The web site has no
> search field, and I am not sure who to contact in the contact list. And
> since there does not seem to be support in the US, I am not sure if one
> is expected to contact someone in Europe or Taiwan or some other place.
>
> Maybe you can let me know how exactly to get the datasheets - I like to
> keep those around for chips we are supporting.
You need to request for DA9052/53 datasheet from
www.dialog-semiconductor.com/DA9053.php
>
> > +static ssize_t da9052_read_tjunc(struct device *dev,
> > + struct device_attribute *devattr, char *buf)
> > +{
> > + struct da9052_hwmon *hwmon = dev_get_drvdata(dev);
> > + int tjunc, toffset, result;
> > +
> > + tjunc = da9052_reg_read(hwmon->da9052, DA9052_TJUNC_RES_REG);
> > + if (tjunc < 0)
> > + return tjunc;
> > +
> > + toffset = da9052_reg_read(hwmon->da9052, DA9052_T_OFFSET_REG);
> > + if (toffset < 0)
> > + return toffset;
> > +
> > + if ((tjunc - toffset) == 0)
> > + result = 0;
> > + else
> > + /* Degrees celsius = 1.708 * (TJUNC_RES - T_OFFSET) - 108.8 */
> > + result = 1708 * (tjunc - toffset) - 108800;
> > +
>
> Hmm.
> tjunc = 1, toffset = 2:
> return 1708 * (-1) - 108800 = -108800 - 1708 = -110508
> tjunc = 2, toffset = 2:
> return 0
> tjunc = 3, toffset = 2:
> return 1780 * 1 - 108800 = -108800 + 1708 = -107092
>
> I am not saying this is wrong, not having access to the data sheet, but
> it is a bit odd. Why is the 0-difference case handled differently, and
> why does it return 0 and not, say, -108800 ?
>
> If tjunc - toffset < 0 is invalid (no idea if it is, of course), it
> might make sense to detect that condition.
toffset is the trim value used for improving the calculated temperature
accuracy so considering this tjunc - toffset <=0 seems to be not
applicable cases. I will correct this along with your other comments and
will re-submit the patch.
Since CONFIG_IRQ_TIME_ACCOUNTING is architecture-agnostic,
move it from x86 area to common code.
Signed-off-by: Dmitry Antipov <dmitry.antipov(a)linaro.org>
---
arch/x86/Kconfig | 11 -----------
lib/Kconfig.debug | 11 +++++++++++
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 5bed94e..4759676 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -805,17 +805,6 @@ config SCHED_MC
making when dealing with multi-core CPU chips at a cost of slightly
increased overhead in some places. If unsure say N here.
-config IRQ_TIME_ACCOUNTING
- bool "Fine granularity task level IRQ time accounting"
- default n
- ---help---
- Select this option to enable fine granularity task irq time
- accounting. This is done by reading a timestamp on each
- transitions between softirq and hardirq state, so there can be a
- small performance impact.
-
- If in doubt, say N here.
-
source "kernel/Kconfig.preempt"
config X86_UP_APIC
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 8745ac7..d6d7afc 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -299,6 +299,17 @@ config SCHEDSTATS
application, you can say N to avoid the very slight overhead
this adds.
+config IRQ_TIME_ACCOUNTING
+ bool "Fine granularity task level IRQ time accounting"
+ default n
+ ---help---
+ Select this option to enable fine granularity task irq time
+ accounting. This is done by reading a timestamp on each
+ transitions between softirq and hardirq state, so there can be a
+ small performance impact.
+
+ If in doubt, say N here.
+
config TIMER_STATS
bool "Collect kernel timers statistics"
depends on DEBUG_KERNEL && PROC_FS
--
1.7.7.6
If you were at the Snowball Audio session today (or wanted to be but
were not able to make it) by popular demand a "part 2" session has
been scheduled for Tuesday February 7th at 11:00 am in the Blue room.
See you there!
--
Regards,
Tom
"Where's the kaboom!? There was supposed to be an earth-shattering
kaboom!" Marvin Martian
Multimedia Tech Lead | Linaro.org │ Open source software for ARM SoCs
w) tom.gall att linaro.org
w) tom_gall att vnet.ibm.com
h) tom_gall att mac.com