* [ANNOUNCE] 4.1.35-rt41
From: Steven Rostedt @ 2016-11-08 22:59 UTC (permalink / raw)
To: LKML, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, John Kacur,
Sebastian Andrzej Siewior
Dear RT Folks,
I'm pleased to announce the 4.1.35-rt41 stable release.
You can get this release via the git tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git
branch: v4.1-rt
Head SHA1: a19daf348d222168ba92752adf897c657ab597c3
Or to build 4.1.35-rt41 directly, the following patches should be applied:
http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.1.tar.xz
http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.1.35.xz
http://www.kernel.org/pub/linux/kernel/projects/rt/4.1/patch-4.1.35-rt41.patch.xz
You can also build from 4.1.35-rt40 by applying the incremental patch:
http://www.kernel.org/pub/linux/kernel/projects/rt/4.1/incr/patch-4.1.35-rt40-rt41.patch.xz
Enjoy,
-- Steve
Changes from v4.1.35-rt40:
---
Mike Galbraith (1):
ftrace: Fix trace header alignment
Sebastian Andrzej Siewior (3):
zsmalloc: turn that get_cpu_light() into a local_lock()
x86/apic: get rid of "warning: 'acpi_ioapic_lock' defined but not used"
kbuild: add -fno-PIE
Steven Rostedt (Red Hat) (1):
Linux 4.1.35-rt41
----
Makefile | 2 +-
arch/x86/kernel/acpi/boot.c | 2 ++
kernel/trace/trace.c | 32 ++++++++++++++++----------------
localversion-rt | 2 +-
mm/zsmalloc.c | 6 ++++--
5 files changed, 24 insertions(+), 20 deletions(-)
---------------------------
diff --git a/Makefile b/Makefile
index 21f657f2c4e6..384ef0e05826 100644
--- a/Makefile
+++ b/Makefile
@@ -400,7 +400,7 @@ KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common \
-Werror-implicit-function-declaration \
- -Wno-format-security \
+ -Wno-format-security -fno-PIE \
-std=gnu89
KBUILD_AFLAGS_KERNEL :=
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index 07bea80223f6..cb66b0ea2d68 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -87,7 +87,9 @@ static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
* ->ioapic_mutex
* ->ioapic_lock
*/
+#ifdef CONFIG_X86_IO_APIC
static DEFINE_MUTEX(acpi_ioapic_lock);
+#endif
/* --------------------------------------------------------------------------
Boot-time Configuration
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index af8b5e5469bf..9c5e5f8e61f5 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2562,17 +2562,17 @@ get_total_entries(struct trace_buffer *buf,
static void print_lat_help_header(struct seq_file *m)
{
- seq_puts(m, "# _--------=> CPU# \n"
- "# / _-------=> irqs-off \n"
- "# | / _------=> need-resched \n"
- "# || / _-----=> need-resched_lazy \n"
- "# ||| / _----=> hardirq/softirq \n"
- "# |||| / _---=> preempt-depth \n"
- "# ||||| / _--=> preempt-lazy-depth\n"
- "# |||||| / _-=> migrate-disable \n"
- "# ||||||| / delay \n"
- "# cmd pid |||||||| time | caller \n"
- "# \\ / |||||||| \\ | / \n");
+ seq_puts(m, "# _--------=> CPU# \n"
+ "# / _-------=> irqs-off \n"
+ "# | / _------=> need-resched \n"
+ "# || / _-----=> need-resched_lazy \n"
+ "# ||| / _----=> hardirq/softirq \n"
+ "# |||| / _---=> preempt-depth \n"
+ "# ||||| / _--=> preempt-lazy-depth\n"
+ "# |||||| / _-=> migrate-disable \n"
+ "# ||||||| / delay \n"
+ "# cmd pid |||||||| time | caller \n"
+ "# \\ / |||||||| \\ | / \n");
}
static void print_event_info(struct trace_buffer *buf, struct seq_file *m)
@@ -2601,11 +2601,11 @@ static void print_func_help_header_irq(struct trace_buffer *buf, struct seq_file
"# |/ _-----=> need-resched_lazy\n"
"# || / _---=> hardirq/softirq\n"
"# ||| / _--=> preempt-depth\n"
- "# |||| /_--=> preempt-lazy-depth\n"
- "# ||||| _-=> migrate-disable \n"
- "# ||||| / delay\n"
- "# TASK-PID CPU# |||||| TIMESTAMP FUNCTION\n"
- "# | | | |||||| | |\n");
+ "# |||| / _-=> preempt-lazy-depth\n"
+ "# ||||| / _-=> migrate-disable \n"
+ "# |||||| / delay\n"
+ "# TASK-PID CPU# ||||||| TIMESTAMP FUNCTION\n"
+ "# | | | ||||||| | |\n");
}
void
diff --git a/localversion-rt b/localversion-rt
index 2af6c89aee6d..629e0b4384b8 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt40
+-rt41
diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index e819dffd142c..873d9bdb94fd 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -68,6 +68,7 @@
#include <linux/debugfs.h>
#include <linux/zsmalloc.h>
#include <linux/zpool.h>
+#include <linux/locallock.h>
/*
* This must be power of 2 and greater than of equal to sizeof(link_free).
@@ -398,6 +399,7 @@ static unsigned int get_maxobj_per_zspage(int size, int pages_per_zspage)
/* per-cpu VM mapping areas for zspage accesses that cross page boundaries */
static DEFINE_PER_CPU(struct mapping_area, zs_map_area);
+static DEFINE_LOCAL_IRQ_LOCK(zs_map_area_lock);
static int is_first_page(struct page *page)
{
@@ -1289,7 +1291,7 @@ void *zs_map_object(struct zs_pool *pool, unsigned long handle,
class = pool->size_class[class_idx];
off = obj_idx_to_offset(page, obj_idx, class->size);
- area = per_cpu_ptr(&zs_map_area, get_cpu_light());
+ area = &get_locked_var(zs_map_area_lock, zs_map_area);
area->vm_mm = mm;
if (off + class->size <= PAGE_SIZE) {
/* this object is contained entirely within a page */
@@ -1342,7 +1344,7 @@ void zs_unmap_object(struct zs_pool *pool, unsigned long handle)
__zs_unmap_object(area, pages, off, class->size);
}
- put_cpu_light();
+ put_locked_var(zs_map_area_lock, zs_map_area);
unpin_tag(handle);
}
EXPORT_SYMBOL_GPL(zs_unmap_object);
^ permalink raw reply related
* [ANNOUNCE] 4.4.27-rt38
From: Steven Rostedt @ 2016-11-08 22:59 UTC (permalink / raw)
To: LKML, linux-rt-users
Cc: Thomas Gleixner, Carsten Emde, John Kacur,
Sebastian Andrzej Siewior
Dear RT Folks,
I'm pleased to announce the 4.4.27-rt38 stable release.
You can get this release via the git tree at:
git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-stable-rt.git
branch: v4.4-rt
Head SHA1: ebb6cff1499826c1d786d3865f9331644c2ac6b8
Or to build 4.4.27-rt38 directly, the following patches should be applied:
http://www.kernel.org/pub/linux/kernel/v4.x/linux-4.4.tar.xz
http://www.kernel.org/pub/linux/kernel/v4.x/patch-4.4.27.xz
http://www.kernel.org/pub/linux/kernel/projects/rt/4.4/patch-4.4.27-rt38.patch.xz
You can also build from 4.4.27-rt37 by applying the incremental patch:
http://www.kernel.org/pub/linux/kernel/projects/rt/4.4/incr/patch-4.4.27-rt37-rt38.patch.xz
Enjoy,
-- Steve
Changes from v4.4.27-rt37:
---
Mike Galbraith (1):
ftrace: Fix trace header alignment
Sebastian Andrzej Siewior (4):
kernel/futex: don't deboost too early
zsmalloc: turn that get_cpu_light() into a local_lock()
x86/apic: get rid of "warning: 'acpi_ioapic_lock' defined but not used"
kbuild: add -fno-PIE
Steven Rostedt (Red Hat) (1):
Linux 4.4.27-rt38
----
Makefile | 2 +-
arch/x86/kernel/acpi/boot.c | 2 ++
include/linux/spinlock.h | 6 +++++
include/linux/spinlock_rt.h | 2 ++
kernel/futex.c | 2 +-
kernel/locking/rtmutex.c | 53 +++++++++++++++++++++++++++++++++++++++------
kernel/trace/trace.c | 32 +++++++++++++--------------
localversion-rt | 2 +-
mm/zsmalloc.c | 6 +++--
9 files changed, 79 insertions(+), 28 deletions(-)
---------------------------
diff --git a/Makefile b/Makefile
index 3b2614a0fa1b..e2c9fdc9d22f 100644
--- a/Makefile
+++ b/Makefile
@@ -394,7 +394,7 @@ KBUILD_CPPFLAGS := -D__KERNEL__
KBUILD_CFLAGS := -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs \
-fno-strict-aliasing -fno-common \
-Werror-implicit-function-declaration \
- -Wno-format-security \
+ -Wno-format-security -fno-PIE \
-std=gnu89
KBUILD_AFLAGS_KERNEL :=
diff --git a/arch/x86/kernel/acpi/boot.c b/arch/x86/kernel/acpi/boot.c
index e75907601a41..a29fc4f84fc4 100644
--- a/arch/x86/kernel/acpi/boot.c
+++ b/arch/x86/kernel/acpi/boot.c
@@ -87,7 +87,9 @@ static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
* ->ioapic_mutex
* ->ioapic_lock
*/
+#ifdef CONFIG_X86_IO_APIC
static DEFINE_MUTEX(acpi_ioapic_lock);
+#endif
/* --------------------------------------------------------------------------
Boot-time Configuration
diff --git a/include/linux/spinlock.h b/include/linux/spinlock.h
index b241cc044bd3..02928fa5499d 100644
--- a/include/linux/spinlock.h
+++ b/include/linux/spinlock.h
@@ -355,6 +355,12 @@ static __always_inline void spin_unlock(spinlock_t *lock)
raw_spin_unlock(&lock->rlock);
}
+static __always_inline int spin_unlock_no_deboost(spinlock_t *lock)
+{
+ raw_spin_unlock(&lock->rlock);
+ return 0;
+}
+
static __always_inline void spin_unlock_bh(spinlock_t *lock)
{
raw_spin_unlock_bh(&lock->rlock);
diff --git a/include/linux/spinlock_rt.h b/include/linux/spinlock_rt.h
index 3b2825537531..7eb87584e843 100644
--- a/include/linux/spinlock_rt.h
+++ b/include/linux/spinlock_rt.h
@@ -26,6 +26,7 @@ extern void __lockfunc rt_spin_lock(spinlock_t *lock);
extern unsigned long __lockfunc rt_spin_lock_trace_flags(spinlock_t *lock);
extern void __lockfunc rt_spin_lock_nested(spinlock_t *lock, int subclass);
extern void __lockfunc rt_spin_unlock(spinlock_t *lock);
+extern int __lockfunc rt_spin_unlock_no_deboost(spinlock_t *lock);
extern void __lockfunc rt_spin_unlock_wait(spinlock_t *lock);
extern int __lockfunc rt_spin_trylock_irqsave(spinlock_t *lock, unsigned long *flags);
extern int __lockfunc rt_spin_trylock_bh(spinlock_t *lock);
@@ -112,6 +113,7 @@ static inline unsigned long spin_lock_trace_flags(spinlock_t *lock)
#define spin_lock_nest_lock(lock, nest_lock) spin_lock_nested(lock, 0)
#define spin_unlock(lock) rt_spin_unlock(lock)
+#define spin_unlock_no_deboost(lock) rt_spin_unlock_no_deboost(lock)
#define spin_unlock_bh(lock) \
do { \
diff --git a/kernel/futex.c b/kernel/futex.c
index ad38af0bcff3..059623427b99 100644
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -1288,7 +1288,7 @@ static int wake_futex_pi(u32 __user *uaddr, u32 uval, struct futex_q *this,
* deboost first (and lose our higher priority), then the task might get
* scheduled away before the wake up can take place.
*/
- spin_unlock(&hb->lock);
+ deboost |= spin_unlock_no_deboost(&hb->lock);
wake_up_q(&wake_q);
wake_up_q_sleeper(&wake_sleeper_q);
if (deboost)
diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c
index fde5e54f1096..6759a798c927 100644
--- a/kernel/locking/rtmutex.c
+++ b/kernel/locking/rtmutex.c
@@ -939,13 +939,14 @@ static inline void rt_spin_lock_fastlock(struct rt_mutex *lock,
slowfn(lock, do_mig_dis);
}
-static inline void rt_spin_lock_fastunlock(struct rt_mutex *lock,
- void (*slowfn)(struct rt_mutex *lock))
+static inline int rt_spin_lock_fastunlock(struct rt_mutex *lock,
+ int (*slowfn)(struct rt_mutex *lock))
{
- if (likely(rt_mutex_cmpxchg_release(lock, current, NULL)))
+ if (likely(rt_mutex_cmpxchg_release(lock, current, NULL))) {
rt_mutex_deadlock_account_unlock(current);
- else
- slowfn(lock);
+ return 0;
+ }
+ return slowfn(lock);
}
#ifdef CONFIG_SMP
/*
@@ -1086,7 +1087,7 @@ static void mark_wakeup_next_waiter(struct wake_q_head *wake_q,
/*
* Slow path to release a rt_mutex spin_lock style
*/
-static void noinline __sched rt_spin_lock_slowunlock(struct rt_mutex *lock)
+static int noinline __sched rt_spin_lock_slowunlock(struct rt_mutex *lock)
{
unsigned long flags;
WAKE_Q(wake_q);
@@ -1101,7 +1102,7 @@ static void noinline __sched rt_spin_lock_slowunlock(struct rt_mutex *lock)
if (!rt_mutex_has_waiters(lock)) {
lock->owner = NULL;
raw_spin_unlock_irqrestore(&lock->wait_lock, flags);
- return;
+ return 0;
}
mark_wakeup_next_waiter(&wake_q, &wake_sleeper_q, lock);
@@ -1112,6 +1113,33 @@ static void noinline __sched rt_spin_lock_slowunlock(struct rt_mutex *lock)
/* Undo pi boosting.when necessary */
rt_mutex_adjust_prio(current);
+ return 0;
+}
+
+static int noinline __sched rt_spin_lock_slowunlock_no_deboost(struct rt_mutex *lock)
+{
+ unsigned long flags;
+ WAKE_Q(wake_q);
+ WAKE_Q(wake_sleeper_q);
+
+ raw_spin_lock_irqsave(&lock->wait_lock, flags);
+
+ debug_rt_mutex_unlock(lock);
+
+ rt_mutex_deadlock_account_unlock(current);
+
+ if (!rt_mutex_has_waiters(lock)) {
+ lock->owner = NULL;
+ raw_spin_unlock_irqrestore(&lock->wait_lock, flags);
+ return 0;
+ }
+
+ mark_wakeup_next_waiter(&wake_q, &wake_sleeper_q, lock);
+
+ raw_spin_unlock_irqrestore(&lock->wait_lock, flags);
+ wake_up_q(&wake_q);
+ wake_up_q_sleeper(&wake_sleeper_q);
+ return 1;
}
void __lockfunc rt_spin_lock__no_mg(spinlock_t *lock)
@@ -1166,6 +1194,17 @@ void __lockfunc rt_spin_unlock(spinlock_t *lock)
}
EXPORT_SYMBOL(rt_spin_unlock);
+int __lockfunc rt_spin_unlock_no_deboost(spinlock_t *lock)
+{
+ int ret;
+
+ /* NOTE: we always pass in '1' for nested, for simplicity */
+ spin_release(&lock->dep_map, 1, _RET_IP_);
+ ret = rt_spin_lock_fastunlock(&lock->lock, rt_spin_lock_slowunlock_no_deboost);
+ migrate_enable();
+ return ret;
+}
+
void __lockfunc __rt_spin_unlock(struct rt_mutex *lock)
{
rt_spin_lock_fastunlock(lock, rt_spin_lock_slowunlock);
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index aebdbff7d425..cad1a28bfbe2 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -2559,17 +2559,17 @@ get_total_entries(struct trace_buffer *buf,
static void print_lat_help_header(struct seq_file *m)
{
- seq_puts(m, "# _--------=> CPU# \n"
- "# / _-------=> irqs-off \n"
- "# | / _------=> need-resched \n"
- "# || / _-----=> need-resched_lazy \n"
- "# ||| / _----=> hardirq/softirq \n"
- "# |||| / _---=> preempt-depth \n"
- "# ||||| / _--=> preempt-lazy-depth\n"
- "# |||||| / _-=> migrate-disable \n"
- "# ||||||| / delay \n"
- "# cmd pid |||||||| time | caller \n"
- "# \\ / |||||||| \\ | / \n");
+ seq_puts(m, "# _--------=> CPU# \n"
+ "# / _-------=> irqs-off \n"
+ "# | / _------=> need-resched \n"
+ "# || / _-----=> need-resched_lazy \n"
+ "# ||| / _----=> hardirq/softirq \n"
+ "# |||| / _---=> preempt-depth \n"
+ "# ||||| / _--=> preempt-lazy-depth\n"
+ "# |||||| / _-=> migrate-disable \n"
+ "# ||||||| / delay \n"
+ "# cmd pid |||||||| time | caller \n"
+ "# \\ / |||||||| \\ | / \n");
}
static void print_event_info(struct trace_buffer *buf, struct seq_file *m)
@@ -2598,11 +2598,11 @@ static void print_func_help_header_irq(struct trace_buffer *buf, struct seq_file
"# |/ _-----=> need-resched_lazy\n"
"# || / _---=> hardirq/softirq\n"
"# ||| / _--=> preempt-depth\n"
- "# |||| /_--=> preempt-lazy-depth\n"
- "# ||||| _-=> migrate-disable \n"
- "# ||||| / delay\n"
- "# TASK-PID CPU# |||||| TIMESTAMP FUNCTION\n"
- "# | | | |||||| | |\n");
+ "# |||| / _-=> preempt-lazy-depth\n"
+ "# ||||| / _-=> migrate-disable \n"
+ "# |||||| / delay\n"
+ "# TASK-PID CPU# ||||||| TIMESTAMP FUNCTION\n"
+ "# | | | ||||||| | |\n");
}
void
diff --git a/localversion-rt b/localversion-rt
index a3b2408c1da6..49bae8d6aa67 100644
--- a/localversion-rt
+++ b/localversion-rt
@@ -1 +1 @@
--rt37
+-rt38
diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
index b552fd607df8..529552c3716d 100644
--- a/mm/zsmalloc.c
+++ b/mm/zsmalloc.c
@@ -64,6 +64,7 @@
#include <linux/debugfs.h>
#include <linux/zsmalloc.h>
#include <linux/zpool.h>
+#include <linux/locallock.h>
/*
* This must be power of 2 and greater than of equal to sizeof(link_free).
@@ -403,6 +404,7 @@ static unsigned int get_maxobj_per_zspage(int size, int pages_per_zspage)
/* per-cpu VM mapping areas for zspage accesses that cross page boundaries */
static DEFINE_PER_CPU(struct mapping_area, zs_map_area);
+static DEFINE_LOCAL_IRQ_LOCK(zs_map_area_lock);
static int is_first_page(struct page *page)
{
@@ -1289,7 +1291,7 @@ void *zs_map_object(struct zs_pool *pool, unsigned long handle,
class = pool->size_class[class_idx];
off = obj_idx_to_offset(page, obj_idx, class->size);
- area = per_cpu_ptr(&zs_map_area, get_cpu_light());
+ area = &get_locked_var(zs_map_area_lock, zs_map_area);
area->vm_mm = mm;
if (off + class->size <= PAGE_SIZE) {
/* this object is contained entirely within a page */
@@ -1342,7 +1344,7 @@ void zs_unmap_object(struct zs_pool *pool, unsigned long handle)
__zs_unmap_object(area, pages, off, class->size);
}
- put_cpu_light();
+ put_locked_var(zs_map_area_lock, zs_map_area);
unpin_tag(handle);
}
EXPORT_SYMBOL_GPL(zs_unmap_object);
^ permalink raw reply related
* [ANNOUNCE] fstests: master branch updated to e604301e2605
From: Dave Chinner @ 2016-11-08 22:58 UTC (permalink / raw)
To: fstests
[-- Attachment #1: Type: text/plain, Size: 1824 bytes --]
Hi folks,
The master branch of the xfstests repository at:
git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git
have just been updated. This update from Eryu fixes the "pwrite64"
errors with a current TOT xfs_io and adds Ceph support.
-Dave.
The new head of the master branch is commit:
e604301e2605 common: add CephFS support
New Commits:
Dave Chinner (1):
[c52086226bc6] filter: xfs_io output has dropped "64" from error messages
Joao Eduardo Luis (1):
[e604301e2605] common: add CephFS support
Code Diffstat:
README.config-sections | 6 ++++++
common/config | 9 +++++++++
common/filter | 7 +++++++
common/rc | 21 ++++++++++++++++++---
tests/btrfs/126 | 4 ++--
tests/btrfs/126.out | 2 +-
tests/ext4/306 | 3 ++-
tests/ext4/306.out | 2 +-
tests/f2fs/001 | 6 ++----
tests/f2fs/001.out | 2 +-
tests/generic/171 | 6 ++++--
tests/generic/171.out | 4 ++--
tests/generic/172 | 6 ++++--
tests/generic/172.out | 4 ++--
tests/generic/174 | 6 ++++--
tests/generic/174.out | 4 ++--
tests/generic/230 | 12 ++++++++----
tests/generic/230.out | 8 ++++----
tests/generic/271 | 3 ++-
tests/generic/271.out | 2 +-
tests/generic/272 | 3 ++-
tests/generic/272.out | 2 +-
tests/generic/276 | 3 ++-
tests/generic/276.out | 2 +-
tests/generic/278 | 3 ++-
tests/generic/278.out | 2 +-
tests/generic/328 | 6 ++++--
tests/generic/328.out | 4 ++--
tests/xfs/071 | 4 ++--
tests/xfs/071.out.64 | 20 ++++++++++----------
tests/xfs/182 | 6 ++++--
tests/xfs/182.out | 2 +-
32 files changed, 114 insertions(+), 60 deletions(-)
--
Dave Chinner
david@fromorbit.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* Re: [PATCH v2] fs/nfsd/nfs4callback: Remove deprecated create_singlethread_workqueue
From: Tejun Heo @ 2016-11-08 22:52 UTC (permalink / raw)
To: J. Bruce Fields
Cc: Bhaktipriya Shridhar, Jeff Layton, linux-nfs, linux-kernel
In-Reply-To: <20161108213911.GA27681@fieldses.org>
Hello, Bruce.
On Tue, Nov 08, 2016 at 04:39:11PM -0500, J. Bruce Fields wrote:
> Apologies, just cleaning out old mail and finding some I should have
> responded to long ago:
>
> On Wed, Aug 31, 2016 at 02:23:48AM +0530, Bhaktipriya Shridhar wrote:
> > The workqueue "callback_wq" queues a single work item &cb->cb_work per
> > nfsd4_callback instance and thus, it doesn't require execution ordering.
>
> What's "execution ordering"?
>
> We definitely do depend on the fact that at most one of these is running
> at a time.
If there can be multiple cb's and thus cb->cb_work's per callback_wq,
it'd need explicit ordering. Is that the case?
Thanks.
--
tejun
^ permalink raw reply
* [PATCH] ARM: socfpga_defconfig: enable FS configs to support Angstrom filesystem
From: Arnd Bergmann @ 2016-11-08 22:57 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20161108224750.30242-1-dinguyen@kernel.org>
On Tuesday, November 8, 2016 4:47:50 PM CET Dinh Nguyen wrote:
> Enables:
>
> CONFIG_AUTOFS4_FS=y
> CONFIG_NFSD=y
> CONFIG_NFS_V3_ACL=y
> CONFIG_NFSD_V3_ACL=y
> CONFIG_NFSD_V4=y
>
> Signed-off-by: Matthew Gerlach <mgerlach@opensource.altera.com>
> Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
>
No objections to the patch, but the changelog should not state what
the patch clearly shows already but instead it should explain why
you do this.
The subject line mentions "to support Angstrom filesystem", but
it's not clear (at least not to me) what that filesystem is.
Arnd
^ permalink raw reply
* bnx2: broken firware loading
From: Frank Reppin @ 2016-11-08 22:50 UTC (permalink / raw)
To: linux-kernel; +Cc: jroedel, bhe
Hellos,
... firmware loading seems to be somewhat broken now with/since
https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/drivers/net/ethernet/broadcom/bnx2.c?id=3e1be7ad2d38c6bd6aeef96df9bd0a7822f4e51c
which gives me - on 4.8.6:
bnx2 0000:05:00.0: Direct firmware load for bnx2/bnx2-mips-06-6.2.3.fw
failed with error -2
Reverting this commit does fix it (tested on 4.8.6 too) - but it's
ofcourse not what you've initially intended.
TIA,
Frank Reppin
--
43rd Law of Computing:
Anything that can go wr
fortune: Segmentation violation -- Core dumped
^ permalink raw reply
* Re: [PATCH v3 1/8] exec: introduce cred_guard_light
From: Benjamin LaHaise @ 2016-11-08 22:56 UTC (permalink / raw)
To: Eric W. Biederman
Cc: Kees Cook, Oleg Nesterov, Jann Horn, Alexander Viro,
Roland McGrath, John Johansen, James Morris, Serge E. Hallyn,
Paul Moore, Stephen Smalley, Eric Paris, Casey Schaufler,
Andrew Morton, Janis Danisevskis, Seth Forshee, Thomas Gleixner,
Ben Hutchings, Andy Lutomirski, Linus Torvalds, Krister Johansen,
linux-fsdevel@vger.kernel.org, linux-security-module,
security@kernel.org
In-Reply-To: <87bmxptwrv.fsf@xmission.com>
On Tue, Nov 08, 2016 at 04:46:44PM -0600, Eric W. Biederman wrote:
> Kees Cook <keescook@chromium.org> writes:
...
> > This is a problem for Google folks too sometimes. This is saying that
> > xmission.com is checking redhat.com's SPF records and refusing to let
> > kernel.org deliver email as if it were redhat.com (due to
> > security@kernel.org being an alias not a mailing list). There aren't
> > good solutions for this, but best I've found is to have my
> > security@kernel.org alias be a @kernel.org address instead of an
> > @google.com address...
>
> Ugh. Is even redhat configuring the redhat email to do that?
> I will have to look.
>
> Last I looked xmission.com was just enforcing the policy that the other
> mail domains were asking to be enforced on themselves. But those are
> policies that are incompatible with mailing lists in general. Although
> I do get confused about which part SPF and DKIM play in this mess.
>
> I just remember that the last several ``enhancements'' to email were
> busily breaking mailing lists and I thought they were completely insane.
> I can even find evidence that it is (or at least was) so bad that email
> standards comittee member's can't comminicate with each other via email
> lists.
>
> vger.kernel.org appears to rewrite the envelope sender to avoid
> problems.
Envelope sender rewriting is insufficient, the From: lines need to be
rewritten to be compliant. This is a pain in the ass for the @kvack.org
mailing lists as well -- people with @google.com addresses don't see the
mailing list postings of users from @google.com and other domains using
"enhanced" email header "validation" techniques.
-ben
> If xmission is doing any more than just performing what the domain of
> the senders of email asked them to do I will be happy to see if I can
> to sort it out.
>
> Eric
--
"Thought is the essence of where you are now."
^ permalink raw reply
* Re: [PATCH nf] netfilter: connmark: ignore skbs with magic untracked conntrack objects
From: Pablo Neira Ayuso @ 2016-11-08 22:56 UTC (permalink / raw)
To: Florian Westphal; +Cc: netfilter-devel
In-Reply-To: <1477702910-12957-1-git-send-email-fw@strlen.de>
On Sat, Oct 29, 2016 at 03:01:50AM +0200, Florian Westphal wrote:
> The (percpu) untracked conntrack entries can end up with nonzero connmarks.
>
> The 'untracked' conntrack objects are merely a way to distinguish INVALID
> (i.e. protocol connection tracker says payload doesn't meet some
> requirements or packet was never seen by the connection tracking code)
> from packets that are intentionally not tracked (some icmpv6 types such as
> neigh solicitation, or by using 'iptables -j CT --notrack' option).
>
> Untracked conntrack objects are implementation detail, we might as well use
> invalid magic address instead to tell INVALID and UNTRACKED apart.
We may consider recovering this old idea: https://lwn.net/Articles/141489/
> Check skb->nfct for untracked dummy and behave as if skb->nfct is NULL.
>
> Reported-by: XU Tianwen <evan.xu.tianwen@gmail.com>
> Signed-off-by: Florian Westphal <fw@strlen.de>
> ---
> Here is the formal submit of earlier RFC patch, I also fixed
> connmark match; conceptually UNTRACKED is not a conntrack object
> so such skb should always fail the match.
Applied, thanks.
^ permalink raw reply
* Seeking help in getting run-tox-ceph-detect-init to work.
From: Willem Jan Withagen @ 2016-11-08 22:57 UTC (permalink / raw)
To: Ceph Development
Hi,
I'm looking for a developer with more Python experience....
Especially with getting things thru tox.
I was able to add FreeBSD support to ceph-detect-init in #11829. But
then that is tested in run-tox-detect-init. Which now fails in a Linux
Jenkins run:
https://jenkins.ceph.com/job/ceph-pull-requests/13621/consoleFull#124607955c19247c4-fcb7-4c61-9a5d-7e2b9731c678
But that heavily depends on mock and variations on
platform.linux_distribution(), which is over my head.
Like:
def test_get(self):
g = ceph_detect_init.get
with mock.patch('platform.linux_distribution',
lambda **kwargs: (('unknown', '', ''))):
self.assertRaises(exc.UnsupportedPlatform, g)
Which hits the assert because linux_distribution() returns
(' ', ' ', ' ')
and the system info needs to be extracted from other functions.
The brutal way would be to override this test, but the question then is
with what? Because there is no one function that returns the required
values. So the code would be a copy from what is in the _init_.py code.
And that feels like a butcher testing his own meat.
So help very much welcomed,
--WjW
^ permalink raw reply
* [Buildroot] [PATCH 0/5] Bump QT 5.8.0-beta
From: Arnout Vandecappelle @ 2016-11-08 22:57 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1478601048-21388-1-git-send-email-anaumann@ultratronik.de>
On 08-11-16 11:30, Andreas Naumann wrote:
> I'm currently playing around with qt5.8 and might as well ask for comments.
>
> I've done some testing on IMX6 and SAMA5D3 and things seem to do fine,
> especially GPU-less QML which is motivation for this.
> Compile only tested with a ras-pi defconfig.
>
> This series removes the hashes for now since they will change again anyway.
I've done a super-quick review.
I've marked the series as Rejected in patchwork, since it's not intended to be
included.
Regards,
Arnout
>
>
> Andreas Naumann (5):
> qt5: bump to 5.8.0-beta
> Revert "qt5base: install bundled fonts to target"
> qt5webkit: bump to 5.8.0-beta
> qt5declarative: enable Quick for non-GL platforms
> quickcontrols1/2: enable for software renderer
>
> package/qt5/Config.in | 7 +--
> package/qt5/qt5.mk | 6 +-
> package/qt5/qt53d/qt53d.hash | 2 -
> ...001-directfb-make-platform-plugin-compile.patch | 22 ++++++++
> .../0006-eglfs-rasp-pi-header-inclusion.patch | 45 ---------------
> package/qt5/qt5base/qt5base.hash | 2 -
> package/qt5/qt5base/qt5base.mk | 11 +---
> package/qt5/qt5canvas3d/qt5canvas3d.hash | 2 -
> package/qt5/qt5connectivity/qt5connectivity.hash | 2 -
> package/qt5/qt5declarative/Config.in | 4 +-
> package/qt5/qt5declarative/qt5declarative.hash | 2 -
> package/qt5/qt5enginio/Config.in | 13 -----
> package/qt5/qt5enginio/qt5enginio.hash | 2 -
> package/qt5/qt5enginio/qt5enginio.mk | 64 ----------------------
> .../qt5graphicaleffects/qt5graphicaleffects.hash | 2 -
> package/qt5/qt5imageformats/qt5imageformats.hash | 2 -
> package/qt5/qt5location/qt5location.hash | 2 -
> package/qt5/qt5multimedia/qt5multimedia.hash | 2 -
> package/qt5/qt5multimedia/qt5multimedia.mk | 2 +
> package/qt5/qt5quickcontrols/Config.in | 3 +-
> package/qt5/qt5quickcontrols/qt5quickcontrols.hash | 2 -
> package/qt5/qt5quickcontrols/qt5quickcontrols.mk | 5 +-
> package/qt5/qt5quickcontrols2/Config.in | 3 +-
> .../qt5/qt5quickcontrols2/qt5quickcontrols2.hash | 2 -
> package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk | 8 ++-
> package/qt5/qt5script/qt5script.hash | 2 -
> package/qt5/qt5sensors/qt5sensors.hash | 2 -
> package/qt5/qt5serialbus/qt5serialbus.hash | 2 -
> package/qt5/qt5serialport/qt5serialport.hash | 2 -
> package/qt5/qt5svg/qt5svg.hash | 2 -
> package/qt5/qt5tools/qt5tools.hash | 2 -
> package/qt5/qt5webchannel/qt5webchannel.hash | 2 -
> package/qt5/qt5webkit/qt5webkit.hash | 2 -
> package/qt5/qt5webkit/qt5webkit.mk | 3 +-
> package/qt5/qt5websockets/qt5websockets.hash | 2 -
> package/qt5/qt5x11extras/qt5x11extras.hash | 2 -
> package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash | 2 -
> 37 files changed, 45 insertions(+), 197 deletions(-)
> delete mode 100644 package/qt5/qt53d/qt53d.hash
> create mode 100644 package/qt5/qt5base/0001-directfb-make-platform-plugin-compile.patch
> delete mode 100644 package/qt5/qt5base/0006-eglfs-rasp-pi-header-inclusion.patch
> delete mode 100644 package/qt5/qt5base/qt5base.hash
> delete mode 100644 package/qt5/qt5canvas3d/qt5canvas3d.hash
> delete mode 100644 package/qt5/qt5connectivity/qt5connectivity.hash
> delete mode 100644 package/qt5/qt5declarative/qt5declarative.hash
> delete mode 100644 package/qt5/qt5enginio/Config.in
> delete mode 100644 package/qt5/qt5enginio/qt5enginio.hash
> delete mode 100644 package/qt5/qt5enginio/qt5enginio.mk
> delete mode 100644 package/qt5/qt5graphicaleffects/qt5graphicaleffects.hash
> delete mode 100644 package/qt5/qt5imageformats/qt5imageformats.hash
> delete mode 100644 package/qt5/qt5location/qt5location.hash
> delete mode 100644 package/qt5/qt5multimedia/qt5multimedia.hash
> delete mode 100644 package/qt5/qt5quickcontrols/qt5quickcontrols.hash
> delete mode 100644 package/qt5/qt5quickcontrols2/qt5quickcontrols2.hash
> delete mode 100644 package/qt5/qt5script/qt5script.hash
> delete mode 100644 package/qt5/qt5sensors/qt5sensors.hash
> delete mode 100644 package/qt5/qt5serialbus/qt5serialbus.hash
> delete mode 100644 package/qt5/qt5serialport/qt5serialport.hash
> delete mode 100644 package/qt5/qt5svg/qt5svg.hash
> delete mode 100644 package/qt5/qt5tools/qt5tools.hash
> delete mode 100644 package/qt5/qt5webchannel/qt5webchannel.hash
> delete mode 100644 package/qt5/qt5webkit/qt5webkit.hash
> delete mode 100644 package/qt5/qt5websockets/qt5websockets.hash
> delete mode 100644 package/qt5/qt5x11extras/qt5x11extras.hash
> delete mode 100644 package/qt5/qt5xmlpatterns/qt5xmlpatterns.hash
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply
* [Buildroot] [PATCH 5/5] quickcontrols1/2: enable for software renderer
From: Arnout Vandecappelle @ 2016-11-08 22:56 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1478601048-21388-6-git-send-email-anaumann@ultratronik.de>
On 08-11-16 11:30, Andreas Naumann wrote:
> Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
> ---
> package/qt5/qt5quickcontrols/Config.in | 3 +--
> package/qt5/qt5quickcontrols/qt5quickcontrols.mk | 5 ++++-
> package/qt5/qt5quickcontrols2/Config.in | 3 +--
> package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk | 8 +++++---
> 4 files changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/package/qt5/qt5quickcontrols/Config.in b/package/qt5/qt5quickcontrols/Config.in
> index 0fe8465..d013491 100644
> --- a/package/qt5/qt5quickcontrols/Config.in
> +++ b/package/qt5/qt5quickcontrols/Config.in
> @@ -2,7 +2,6 @@ config BR2_PACKAGE_QT5QUICKCONTROLS
> bool "qt5quickcontrols"
> select BR2_PACKAGE_QT5DECLARATIVE
> select BR2_PACKAGE_QT5DECLARATIVE_QUICK
> - depends on BR2_PACKAGE_QT5_GL_AVAILABLE
> depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
> help
> Qt is a cross-platform application and UI framework for
> @@ -12,6 +11,6 @@ config BR2_PACKAGE_QT5QUICKCONTROLS
>
> http://qt.io
>
> -comment "qt5quickcontrols needs an OpenGL-capable backend"
> +comment "Some qt5quickcontrol elements needs an OpenGL-capable backend"
Hm, a bit vague. I think the comment can be removed.
> depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
> depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
> diff --git a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
> index b33ff15..c2946bc 100644
> --- a/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
> +++ b/package/qt5/qt5quickcontrols/qt5quickcontrols.mk
> @@ -31,7 +31,10 @@ define QT5QUICKCONTROLS_INSTALL_STAGING_CMDS
> endef
>
> define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
> - cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick $(TARGET_DIR)/usr/qml
> + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
> + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
> + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
> + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick
Why?
Regards,
Arnout
> endef
>
> $(eval $(generic-package))
> diff --git a/package/qt5/qt5quickcontrols2/Config.in b/package/qt5/qt5quickcontrols2/Config.in
> index 1e57674..e7271f2 100644
> --- a/package/qt5/qt5quickcontrols2/Config.in
> +++ b/package/qt5/qt5quickcontrols2/Config.in
> @@ -2,7 +2,6 @@ config BR2_PACKAGE_QT5QUICKCONTROLS2
> bool "qt5quickcontrols2"
> select BR2_PACKAGE_QT5DECLARATIVE
> select BR2_PACKAGE_QT5DECLARATIVE_QUICK
> - depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative/quick
> depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative/quick
> help
> Qt is a cross-platform application and UI framework for
> @@ -12,6 +11,6 @@ config BR2_PACKAGE_QT5QUICKCONTROLS2
>
> http://qt.io
>
> -comment "qt5quickcontrols2 needs an OpenGL-capable backend"
> +comment "Some qt5quickcontrols2 elements need an OpenGL-capable backend"
> depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
> depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
> diff --git a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
> index a5ad3f6..1a2949c 100644
> --- a/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
> +++ b/package/qt5/qt5quickcontrols2/qt5quickcontrols2.mk
> @@ -31,10 +31,12 @@ define QT5QUICKCONTROLS2_INSTALL_STAGING_CMDS
> endef
>
> define QT5QUICKCONTROLS2_INSTALL_TARGET_CMDS
> - cp -dpf $(STAGING_DIR)/usr/lib/libQt5LabsTemplates.so.* $(TARGET_DIR)/usr/lib
> - cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/controls $(TARGET_DIR)/usr/qml/Qt/labs
> + cp -dpf $(STAGING_DIR)/usr/lib/libQt5QuickTemplates2.so.* $(TARGET_DIR)/usr/lib
> + cp -dpf $(STAGING_DIR)/usr/lib/libQt5QuickControls2.so.* $(TARGET_DIR)/usr/lib
> cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/calendar $(TARGET_DIR)/usr/qml/Qt/labs
> - cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/templates $(TARGET_DIR)/usr/qml/Qt/labs
> + cp -dpfr $(STAGING_DIR)/usr/qml/Qt/labs/platform $(TARGET_DIR)/usr/qml/Qt/labs
> + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls.2 $(TARGET_DIR)/usr/qml/QtQuick
> + cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Templates.2 $(TARGET_DIR)/usr/qml/QtQuick
> endef
>
> $(eval $(generic-package))
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply
* Re: [PATCH 2/4] ath10k: Add support to update btcoex priority value via nl80211
From: kbuild test robot @ 2016-11-08 22:54 UTC (permalink / raw)
To: c_traja; +Cc: tamizhchelvam, linux-wireless, kbuild-all, ath10k
In-Reply-To: <1478617354-28146-3-git-send-email-c_traja@qti.qualcomm.com>
[-- Attachment #1: Type: text/plain, Size: 10908 bytes --]
Hi Tamizh,
[auto build test ERROR on ath6kl/ath-next]
[cannot apply to v4.9-rc4 next-20161108]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/c_traja-qti-qualcomm-com/ath10k-Add-support-for-BTCOEX-feature/20161109-043718
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git ath-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All error/warnings (new ones prefixed by >>):
>> drivers/net/wireless/ath/ath10k/mac.c:7508:35: warning: 'struct cfg80211_btcoex_priority' declared inside parameter list will not be visible outside of this definition or declaration
ath10k_mac_get_btcoex_prio(struct cfg80211_btcoex_priority *btcoex_priority)
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_get_btcoex_prio':
>> drivers/net/wireless/ath/ath10k/mac.c:7512:21: error: dereferencing pointer to incomplete type 'struct cfg80211_btcoex_priority'
if (btcoex_priority->wlan_be_preferred)
^~
>> drivers/net/wireless/ath/ath10k/mac.c:7513:18: error: 'WIPHY_WLAN_BE_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_BE_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:7513:18: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/wireless/ath/ath10k/mac.c:7516:18: error: 'WIPHY_WLAN_BK_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_BK_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/mac.c:7519:18: error: 'WIPHY_WLAN_VI_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_VI_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/mac.c:7522:18: error: 'WIPHY_WLAN_VO_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_VO_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/mac.c:7525:18: error: 'WIPHY_WLAN_BEACON_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_BEACON_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/mac.c:7528:18: error: 'WIPHY_WLAN_MGMT_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_MGMT_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: At top level:
drivers/net/wireless/ath/ath10k/mac.c:7534:11: warning: 'struct cfg80211_btcoex_priority' declared inside parameter list will not be visible outside of this definition or declaration
struct cfg80211_btcoex_priority *btcoex_priority)
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_op_set_btcoex_priority':
>> drivers/net/wireless/ath/ath10k/mac.c:7553:43: error: passing argument 1 of 'ath10k_mac_get_btcoex_prio' from incompatible pointer type [-Werror=incompatible-pointer-types]
btcoex_prio = ath10k_mac_get_btcoex_prio(btcoex_priority);
^~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:7508:1: note: expected 'struct cfg80211_btcoex_priority *' but argument is of type 'struct cfg80211_btcoex_priority *'
ath10k_mac_get_btcoex_prio(struct cfg80211_btcoex_priority *btcoex_priority)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: At top level:
drivers/net/wireless/ath/ath10k/mac.c:7611:2: error: unknown field 'set_btcoex' specified in initializer
.set_btcoex = ath10k_mac_op_set_btcoex,
^
drivers/net/wireless/ath/ath10k/mac.c:7611:36: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.set_btcoex = ath10k_mac_op_set_btcoex,
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:7611:36: note: (near initialization for 'ath10k_ops.reconfig_complete')
>> drivers/net/wireless/ath/ath10k/mac.c:7612:2: error: unknown field 'set_btcoex_priority' specified in initializer
.set_btcoex_priority = ath10k_mac_op_set_btcoex_priority,
^
drivers/net/wireless/ath/ath10k/mac.c:7612:26: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.set_btcoex_priority = ath10k_mac_op_set_btcoex_priority,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:7612:26: note: (near initialization for 'ath10k_ops.ipv6_addr_change')
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_register':
>> drivers/net/wireless/ath/ath10k/mac.c:8203:16: error: 'struct wiphy' has no member named 'btcoex_support_flags'
ar->hw->wiphy->btcoex_support_flags =
^~
drivers/net/wireless/ath/ath10k/mac.c:8204:4: error: 'WIPHY_WLAN_BE_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_BE_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8205:4: error: 'WIPHY_WLAN_BK_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_BK_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8206:4: error: 'WIPHY_WLAN_VI_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_VI_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8207:4: error: 'WIPHY_WLAN_VO_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_VO_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8208:4: error: 'WIPHY_WLAN_BEACON_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_BEACON_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8209:4: error: 'WIPHY_WLAN_MGMT_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_MGMT_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8211:20: error: 'struct wiphy' has no member named 'btcoex_support_flags'
ar->hw->wiphy->btcoex_support_flags);
^~
cc1: some warnings being treated as errors
vim +7512 drivers/net/wireless/ath/ath10k/mac.c
7502 mutex_unlock(&ar->conf_mutex);
7503
7504 return ret;
7505 }
7506
7507 u32
> 7508 ath10k_mac_get_btcoex_prio(struct cfg80211_btcoex_priority *btcoex_priority)
7509 {
7510 u32 btcoex_prio = 0;
7511
> 7512 if (btcoex_priority->wlan_be_preferred)
> 7513 btcoex_prio |= WIPHY_WLAN_BE_PREFERRED;
7514
7515 if (btcoex_priority->wlan_bk_preferred)
> 7516 btcoex_prio |= WIPHY_WLAN_BK_PREFERRED;
7517
7518 if (btcoex_priority->wlan_vi_preferred)
> 7519 btcoex_prio |= WIPHY_WLAN_VI_PREFERRED;
7520
7521 if (btcoex_priority->wlan_vo_preferred)
> 7522 btcoex_prio |= WIPHY_WLAN_VO_PREFERRED;
7523
7524 if (btcoex_priority->wlan_beacon_preferred)
> 7525 btcoex_prio |= WIPHY_WLAN_BEACON_PREFERRED;
7526
7527 if (btcoex_priority->wlan_mgmt_preferred)
> 7528 btcoex_prio |= WIPHY_WLAN_MGMT_PREFERRED;
7529
7530 return btcoex_prio;
7531 }
7532
7533 static int ath10k_mac_op_set_btcoex_priority(struct ieee80211_hw *hw,
7534 struct cfg80211_btcoex_priority *btcoex_priority)
7535 {
7536 u32 btcoex_prio;
7537 struct ath10k *ar = hw->priv;
7538 int ret;
7539
7540 if (!(test_bit(ATH10K_FLAG_BTCOEX, &ar->dev_flags))) {
7541 ret = -EINVAL;
7542 goto exit;
7543 }
7544
7545 mutex_lock(&ar->conf_mutex);
7546
7547 if (ar->state != ATH10K_STATE_ON &&
7548 ar->state != ATH10K_STATE_RESTARTED) {
7549 ret = -ENETDOWN;
7550 goto exit;
7551 }
7552
> 7553 btcoex_prio = ath10k_mac_get_btcoex_prio(btcoex_priority);
7554
7555 if (btcoex_prio > 0x3f)
7556 return -E2BIG;
7557
7558 ret = ath10k_wmi_set_coex_param(ar, btcoex_prio);
7559
7560 if (ret) {
7561 ath10k_warn(ar, "failed to set btcoex priority: %d\n", ret);
7562 goto exit;
7563 }
7564
7565 exit:
7566 mutex_unlock(&ar->conf_mutex);
7567 return ret;
7568 }
7569
7570 static const struct ieee80211_ops ath10k_ops = {
7571 .tx = ath10k_mac_op_tx,
7572 .wake_tx_queue = ath10k_mac_op_wake_tx_queue,
7573 .start = ath10k_start,
7574 .stop = ath10k_stop,
7575 .config = ath10k_config,
7576 .add_interface = ath10k_add_interface,
7577 .remove_interface = ath10k_remove_interface,
7578 .configure_filter = ath10k_configure_filter,
7579 .bss_info_changed = ath10k_bss_info_changed,
7580 .set_coverage_class = ath10k_mac_op_set_coverage_class,
7581 .hw_scan = ath10k_hw_scan,
7582 .cancel_hw_scan = ath10k_cancel_hw_scan,
7583 .set_key = ath10k_set_key,
7584 .set_default_unicast_key = ath10k_set_default_unicast_key,
7585 .sta_state = ath10k_sta_state,
7586 .conf_tx = ath10k_conf_tx,
7587 .remain_on_channel = ath10k_remain_on_channel,
7588 .cancel_remain_on_channel = ath10k_cancel_remain_on_channel,
7589 .set_rts_threshold = ath10k_set_rts_threshold,
7590 .set_frag_threshold = ath10k_mac_op_set_frag_threshold,
7591 .flush = ath10k_flush,
7592 .tx_last_beacon = ath10k_tx_last_beacon,
7593 .set_antenna = ath10k_set_antenna,
7594 .get_antenna = ath10k_get_antenna,
7595 .reconfig_complete = ath10k_reconfig_complete,
7596 .get_survey = ath10k_get_survey,
7597 .set_bitrate_mask = ath10k_mac_op_set_bitrate_mask,
7598 .sta_rc_update = ath10k_sta_rc_update,
7599 .get_tsf = ath10k_get_tsf,
7600 .set_tsf = ath10k_set_tsf,
7601 .ampdu_action = ath10k_ampdu_action,
7602 .get_et_sset_count = ath10k_debug_get_et_sset_count,
7603 .get_et_stats = ath10k_debug_get_et_stats,
7604 .get_et_strings = ath10k_debug_get_et_strings,
7605 .add_chanctx = ath10k_mac_op_add_chanctx,
7606 .remove_chanctx = ath10k_mac_op_remove_chanctx,
7607 .change_chanctx = ath10k_mac_op_change_chanctx,
7608 .assign_vif_chanctx = ath10k_mac_op_assign_vif_chanctx,
7609 .unassign_vif_chanctx = ath10k_mac_op_unassign_vif_chanctx,
7610 .switch_vif_chanctx = ath10k_mac_op_switch_vif_chanctx,
> 7611 .set_btcoex = ath10k_mac_op_set_btcoex,
> 7612 .set_btcoex_priority = ath10k_mac_op_set_btcoex_priority,
7613
7614 CFG80211_TESTMODE_CMD(ath10k_tm_cmd)
7615
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 55638 bytes --]
[-- Attachment #3: Type: text/plain, Size: 146 bytes --]
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
^ permalink raw reply
* Re: [PATCH 2/4] ath10k: Add support to update btcoex priority value via nl80211
From: kbuild test robot @ 2016-11-08 22:54 UTC (permalink / raw)
To: c_traja; +Cc: kbuild-all, ath10k, linux-wireless, tamizhchelvam, Tamizh chelvam
In-Reply-To: <1478617354-28146-3-git-send-email-c_traja@qti.qualcomm.com>
[-- Attachment #1: Type: text/plain, Size: 10908 bytes --]
Hi Tamizh,
[auto build test ERROR on ath6kl/ath-next]
[cannot apply to v4.9-rc4 next-20161108]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/c_traja-qti-qualcomm-com/ath10k-Add-support-for-BTCOEX-feature/20161109-043718
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git ath-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All error/warnings (new ones prefixed by >>):
>> drivers/net/wireless/ath/ath10k/mac.c:7508:35: warning: 'struct cfg80211_btcoex_priority' declared inside parameter list will not be visible outside of this definition or declaration
ath10k_mac_get_btcoex_prio(struct cfg80211_btcoex_priority *btcoex_priority)
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_get_btcoex_prio':
>> drivers/net/wireless/ath/ath10k/mac.c:7512:21: error: dereferencing pointer to incomplete type 'struct cfg80211_btcoex_priority'
if (btcoex_priority->wlan_be_preferred)
^~
>> drivers/net/wireless/ath/ath10k/mac.c:7513:18: error: 'WIPHY_WLAN_BE_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_BE_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:7513:18: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/net/wireless/ath/ath10k/mac.c:7516:18: error: 'WIPHY_WLAN_BK_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_BK_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/mac.c:7519:18: error: 'WIPHY_WLAN_VI_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_VI_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/mac.c:7522:18: error: 'WIPHY_WLAN_VO_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_VO_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/mac.c:7525:18: error: 'WIPHY_WLAN_BEACON_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_BEACON_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/wireless/ath/ath10k/mac.c:7528:18: error: 'WIPHY_WLAN_MGMT_PREFERRED' undeclared (first use in this function)
btcoex_prio |= WIPHY_WLAN_MGMT_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: At top level:
drivers/net/wireless/ath/ath10k/mac.c:7534:11: warning: 'struct cfg80211_btcoex_priority' declared inside parameter list will not be visible outside of this definition or declaration
struct cfg80211_btcoex_priority *btcoex_priority)
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_op_set_btcoex_priority':
>> drivers/net/wireless/ath/ath10k/mac.c:7553:43: error: passing argument 1 of 'ath10k_mac_get_btcoex_prio' from incompatible pointer type [-Werror=incompatible-pointer-types]
btcoex_prio = ath10k_mac_get_btcoex_prio(btcoex_priority);
^~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:7508:1: note: expected 'struct cfg80211_btcoex_priority *' but argument is of type 'struct cfg80211_btcoex_priority *'
ath10k_mac_get_btcoex_prio(struct cfg80211_btcoex_priority *btcoex_priority)
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: At top level:
drivers/net/wireless/ath/ath10k/mac.c:7611:2: error: unknown field 'set_btcoex' specified in initializer
.set_btcoex = ath10k_mac_op_set_btcoex,
^
drivers/net/wireless/ath/ath10k/mac.c:7611:36: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.set_btcoex = ath10k_mac_op_set_btcoex,
^~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:7611:36: note: (near initialization for 'ath10k_ops.reconfig_complete')
>> drivers/net/wireless/ath/ath10k/mac.c:7612:2: error: unknown field 'set_btcoex_priority' specified in initializer
.set_btcoex_priority = ath10k_mac_op_set_btcoex_priority,
^
drivers/net/wireless/ath/ath10k/mac.c:7612:26: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]
.set_btcoex_priority = ath10k_mac_op_set_btcoex_priority,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:7612:26: note: (near initialization for 'ath10k_ops.ipv6_addr_change')
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_mac_register':
>> drivers/net/wireless/ath/ath10k/mac.c:8203:16: error: 'struct wiphy' has no member named 'btcoex_support_flags'
ar->hw->wiphy->btcoex_support_flags =
^~
drivers/net/wireless/ath/ath10k/mac.c:8204:4: error: 'WIPHY_WLAN_BE_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_BE_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8205:4: error: 'WIPHY_WLAN_BK_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_BK_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8206:4: error: 'WIPHY_WLAN_VI_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_VI_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8207:4: error: 'WIPHY_WLAN_VO_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_VO_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8208:4: error: 'WIPHY_WLAN_BEACON_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_BEACON_PREFERRED |
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8209:4: error: 'WIPHY_WLAN_MGMT_PREFERRED' undeclared (first use in this function)
WIPHY_WLAN_MGMT_PREFERRED;
^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c:8211:20: error: 'struct wiphy' has no member named 'btcoex_support_flags'
ar->hw->wiphy->btcoex_support_flags);
^~
cc1: some warnings being treated as errors
vim +7512 drivers/net/wireless/ath/ath10k/mac.c
7502 mutex_unlock(&ar->conf_mutex);
7503
7504 return ret;
7505 }
7506
7507 u32
> 7508 ath10k_mac_get_btcoex_prio(struct cfg80211_btcoex_priority *btcoex_priority)
7509 {
7510 u32 btcoex_prio = 0;
7511
> 7512 if (btcoex_priority->wlan_be_preferred)
> 7513 btcoex_prio |= WIPHY_WLAN_BE_PREFERRED;
7514
7515 if (btcoex_priority->wlan_bk_preferred)
> 7516 btcoex_prio |= WIPHY_WLAN_BK_PREFERRED;
7517
7518 if (btcoex_priority->wlan_vi_preferred)
> 7519 btcoex_prio |= WIPHY_WLAN_VI_PREFERRED;
7520
7521 if (btcoex_priority->wlan_vo_preferred)
> 7522 btcoex_prio |= WIPHY_WLAN_VO_PREFERRED;
7523
7524 if (btcoex_priority->wlan_beacon_preferred)
> 7525 btcoex_prio |= WIPHY_WLAN_BEACON_PREFERRED;
7526
7527 if (btcoex_priority->wlan_mgmt_preferred)
> 7528 btcoex_prio |= WIPHY_WLAN_MGMT_PREFERRED;
7529
7530 return btcoex_prio;
7531 }
7532
7533 static int ath10k_mac_op_set_btcoex_priority(struct ieee80211_hw *hw,
7534 struct cfg80211_btcoex_priority *btcoex_priority)
7535 {
7536 u32 btcoex_prio;
7537 struct ath10k *ar = hw->priv;
7538 int ret;
7539
7540 if (!(test_bit(ATH10K_FLAG_BTCOEX, &ar->dev_flags))) {
7541 ret = -EINVAL;
7542 goto exit;
7543 }
7544
7545 mutex_lock(&ar->conf_mutex);
7546
7547 if (ar->state != ATH10K_STATE_ON &&
7548 ar->state != ATH10K_STATE_RESTARTED) {
7549 ret = -ENETDOWN;
7550 goto exit;
7551 }
7552
> 7553 btcoex_prio = ath10k_mac_get_btcoex_prio(btcoex_priority);
7554
7555 if (btcoex_prio > 0x3f)
7556 return -E2BIG;
7557
7558 ret = ath10k_wmi_set_coex_param(ar, btcoex_prio);
7559
7560 if (ret) {
7561 ath10k_warn(ar, "failed to set btcoex priority: %d\n", ret);
7562 goto exit;
7563 }
7564
7565 exit:
7566 mutex_unlock(&ar->conf_mutex);
7567 return ret;
7568 }
7569
7570 static const struct ieee80211_ops ath10k_ops = {
7571 .tx = ath10k_mac_op_tx,
7572 .wake_tx_queue = ath10k_mac_op_wake_tx_queue,
7573 .start = ath10k_start,
7574 .stop = ath10k_stop,
7575 .config = ath10k_config,
7576 .add_interface = ath10k_add_interface,
7577 .remove_interface = ath10k_remove_interface,
7578 .configure_filter = ath10k_configure_filter,
7579 .bss_info_changed = ath10k_bss_info_changed,
7580 .set_coverage_class = ath10k_mac_op_set_coverage_class,
7581 .hw_scan = ath10k_hw_scan,
7582 .cancel_hw_scan = ath10k_cancel_hw_scan,
7583 .set_key = ath10k_set_key,
7584 .set_default_unicast_key = ath10k_set_default_unicast_key,
7585 .sta_state = ath10k_sta_state,
7586 .conf_tx = ath10k_conf_tx,
7587 .remain_on_channel = ath10k_remain_on_channel,
7588 .cancel_remain_on_channel = ath10k_cancel_remain_on_channel,
7589 .set_rts_threshold = ath10k_set_rts_threshold,
7590 .set_frag_threshold = ath10k_mac_op_set_frag_threshold,
7591 .flush = ath10k_flush,
7592 .tx_last_beacon = ath10k_tx_last_beacon,
7593 .set_antenna = ath10k_set_antenna,
7594 .get_antenna = ath10k_get_antenna,
7595 .reconfig_complete = ath10k_reconfig_complete,
7596 .get_survey = ath10k_get_survey,
7597 .set_bitrate_mask = ath10k_mac_op_set_bitrate_mask,
7598 .sta_rc_update = ath10k_sta_rc_update,
7599 .get_tsf = ath10k_get_tsf,
7600 .set_tsf = ath10k_set_tsf,
7601 .ampdu_action = ath10k_ampdu_action,
7602 .get_et_sset_count = ath10k_debug_get_et_sset_count,
7603 .get_et_stats = ath10k_debug_get_et_stats,
7604 .get_et_strings = ath10k_debug_get_et_strings,
7605 .add_chanctx = ath10k_mac_op_add_chanctx,
7606 .remove_chanctx = ath10k_mac_op_remove_chanctx,
7607 .change_chanctx = ath10k_mac_op_change_chanctx,
7608 .assign_vif_chanctx = ath10k_mac_op_assign_vif_chanctx,
7609 .unassign_vif_chanctx = ath10k_mac_op_unassign_vif_chanctx,
7610 .switch_vif_chanctx = ath10k_mac_op_switch_vif_chanctx,
> 7611 .set_btcoex = ath10k_mac_op_set_btcoex,
> 7612 .set_btcoex_priority = ath10k_mac_op_set_btcoex_priority,
7613
7614 CFG80211_TESTMODE_CMD(ath10k_tm_cmd)
7615
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 55638 bytes --]
^ permalink raw reply
* Re: [Patch net] ipvs: use IPVS_CMD_ATTR_MAX for family.maxattr
From: Pablo Neira Ayuso @ 2016-11-08 22:53 UTC (permalink / raw)
To: Simon Horman; +Cc: Cong Wang, netdev, netfilter-devel, andreyknvl
In-Reply-To: <20161104105843.GC24863@verge.net.au>
On Fri, Nov 04, 2016 at 11:58:44AM +0100, Simon Horman wrote:
> On Thu, Nov 03, 2016 at 05:14:03PM -0700, Cong Wang wrote:
> > family.maxattr is the max index for policy[], the size of
> > ops[] is determined with ARRAY_SIZE().
> >
> > Reported-by: Andrey Konovalov <andreyknvl@google.com>
> > Tested-by: Andrey Konovalov <andreyknvl@google.com>
> > Cc: Pablo Neira Ayuso <pablo@netfilter.org>
> > Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
>
>
> Signed-off-by: Simon Horman <horms@verge.net.au>
>
> Pablo, can you take this one into nf?
Applied, thanks!
^ permalink raw reply
* [Buildroot] [PATCH 4/5] qt5declarative: enable Quick for non-GL platforms
From: Arnout Vandecappelle @ 2016-11-08 22:53 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1478601048-21388-5-git-send-email-anaumann@ultratronik.de>
On 08-11-16 11:30, Andreas Naumann wrote:
> However, some modules provide less functionality without OpenGL, so install
> steps have to be limited for the softrender only backend:
> - qtmultimedia does not provide qml
>
> Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
> ---
> package/qt5/qt5declarative/Config.in | 4 +---
> package/qt5/qt5multimedia/qt5multimedia.mk | 2 ++
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in
> index eba4c8d..0604e85 100644
> --- a/package/qt5/qt5declarative/Config.in
> +++ b/package/qt5/qt5declarative/Config.in
> @@ -14,12 +14,10 @@ config BR2_PACKAGE_QT5DECLARATIVE
>
> if BR2_PACKAGE_QT5DECLARATIVE
>
> -comment "quick module needs an OpenGL-capable backend"
> +comment "quick module without OpenGL-capable backend will use a less performant software backend"
I think this comment can just be removed.
> depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
>
> config BR2_PACKAGE_QT5DECLARATIVE_QUICK
> bool "quick module"
> - select BR2_PACKAGE_QT5BASE_OPENGL
> - depends on BR2_PACKAGE_QT5_GL_AVAILABLE
Shouldn't this be
select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5_GL_AVAILABLE
? We really want to use opengl if we can...
>
> endif
> diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk
> index 67e7968..41eb0f6 100644
> --- a/package/qt5/qt5multimedia/qt5multimedia.mk
> +++ b/package/qt5/qt5multimedia/qt5multimedia.mk
> @@ -53,11 +53,13 @@ define QT5MULTIMEDIA_INSTALL_TARGET_LIBS
> endef
> endif
>
> +ifeq ($(BR2_PACKAGE_QT5_GL_AVAILABLE),y)
Add a comment here to explain why, it looks a bit strange.
Regards,
Arnout
> ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
> define QT5MULTIMEDIA_INSTALL_TARGET_QMLS
> cp -dpfr $(STAGING_DIR)/usr/qml/QtMultimedia $(TARGET_DIR)/usr/qml/
> endef
> endif
> +endif
>
> define QT5MULTIMEDIA_INSTALL_TARGET_CMDS
> $(QT5MULTIMEDIA_INSTALL_TARGET_LIBS)
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply
* [Qemu-devel] [PATCH for-2.8] block: Let write zeroes fallback work even with small max_transfer
From: Eric Blake @ 2016-11-08 22:52 UTC (permalink / raw)
To: qemu-devel
Cc: qemu-block, qemu-stable, Ed Swierk, Denis V . Lunev,
Stefan Hajnoczi, Fam Zheng, Kevin Wolf, Max Reitz
Commit 443668ca rewrote the write_zeroes logic to guarantee that
an unaligned request never crosses a cluster boundary. But
in the rewrite, the new code assumed that at most one iteration
would be needed to get to an alignment boundary.
However, it is easy to trigger an assertion failure: the Linux
kernel limits loopback devices to advertise a max_transfer of
only 64k. Any operation that requires falling back to writes
rather than more efficient zeroing must obey max_transfer during
that fallback, which means an unaligned head may require multiple
iterations of the write fallbacks before reaching the aligned
boundaries, when layering a format with clusters larger than 64k
atop the protocol of file access to a loopback device.
Test case:
$ qemu-img create -f qcow2 -o cluster_size=1M file 10M
$ losetup /dev/loop2 /path/to/file
$ qemu-io -f qcow2 /dev/loop2
qemu-io> w 7m 1k
qemu-io> w -z 8003584 2093056
In fairness to Denis (as the original listed author of the culprit
commit), the faulty logic for at most one iteration is probably all
my fault in reworking his idea. But the solution is to restore what
was in place prior to that commit: when dealing with an unaligned
head or tail, iterate as many times as necessary while fragmenting
the operation at max_transfer boundaries.
CC: qemu-stable@nongnu.org
CC: Ed Swierk <eswierk@skyportsystems.com>
CC: Denis V. Lunev <den@openvz.org>
Signed-off-by: Eric Blake <eblake@redhat.com>
---
block/io.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/block/io.c b/block/io.c
index aa532a5..085ac34 100644
--- a/block/io.c
+++ b/block/io.c
@@ -1214,6 +1214,8 @@ static int coroutine_fn bdrv_co_do_pwrite_zeroes(BlockDriverState *bs,
int max_write_zeroes = MIN_NON_ZERO(bs->bl.max_pwrite_zeroes, INT_MAX);
int alignment = MAX(bs->bl.pwrite_zeroes_alignment,
bs->bl.request_alignment);
+ int max_transfer = MIN_NON_ZERO(bs->bl.max_transfer,
+ MAX_WRITE_ZEROES_BOUNCE_BUFFER);
assert(alignment % bs->bl.request_alignment == 0);
head = offset % alignment;
@@ -1229,9 +1231,12 @@ static int coroutine_fn bdrv_co_do_pwrite_zeroes(BlockDriverState *bs,
* boundaries.
*/
if (head) {
- /* Make a small request up to the first aligned sector. */
- num = MIN(count, alignment - head);
- head = 0;
+ /* Make a small request up to the first aligned sector. For
+ * convenience, limit this request to max_transfer even if
+ * we don't need to fall back to writes. */
+ num = MIN(MIN(count, max_transfer), alignment - head);
+ head = (head + num) % alignment;
+ assert(num < max_write_zeroes);
} else if (tail && num > alignment) {
/* Shorten the request to the last aligned sector. */
num -= tail;
@@ -1257,8 +1262,6 @@ static int coroutine_fn bdrv_co_do_pwrite_zeroes(BlockDriverState *bs,
if (ret == -ENOTSUP) {
/* Fall back to bounce buffer if write zeroes is unsupported */
- int max_transfer = MIN_NON_ZERO(bs->bl.max_transfer,
- MAX_WRITE_ZEROES_BOUNCE_BUFFER);
BdrvRequestFlags write_flags = flags & ~BDRV_REQ_ZERO_WRITE;
if ((flags & BDRV_REQ_FUA) &&
--
2.7.4
^ permalink raw reply related
* Re: [PATCH 0/4] musb fixes for v4.9-rc cycle
From: Ladislav Michl @ 2016-11-08 22:52 UTC (permalink / raw)
To: Tony Lindgren
Cc: Bin Liu, Boris Brezillon, Greg Kroah-Hartman, Andreas Kemnade,
Felipe Balbi, George Cherian, Kishon Vijay Abraham I,
Ivaylo Dimitrov, Johan Hovold, Laurent Pinchart, Sergei Shtylyov,
linux-usb-u79uwXL29TY76Z2rM5mHXA,
linux-omap-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <20161108220530.GO2428-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
On Tue, Nov 08, 2016 at 03:05:30PM -0700, Tony Lindgren wrote:
> OK. The patch below still works for me with musb_core.c
> autosuspend_delay set to 100. Also works with it set to 10.
>
> Note that we had two timeouts without this.. Can you try
> playing with the timeout in musb_core.c and see if that
> helps?
This patch works for me, also with autosuspend_delay set to 10.
Tested-by: Ladislav Michl <ladis-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org>
Thank you,
ladis
> Regards,
>
> Tony
>
> 8< ------------------
> diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c
> --- a/drivers/usb/musb/musb_core.c
> +++ b/drivers/usb/musb/musb_core.c
> @@ -1898,8 +1898,7 @@ static void musb_pm_runtime_check_session(struct musb *musb)
> musb->quirk_retries = 3;
> } else {
> musb_dbg(musb, "Allow PM with no session: %02x", devctl);
> - pm_runtime_mark_last_busy(musb->controller);
> - pm_runtime_put_autosuspend(musb->controller);
> + pm_runtime_put_sync_suspend(musb->controller);
> }
>
> musb->session = s;
> @@ -2268,7 +2267,7 @@ musb_init_controller(struct device *dev, int nIrq, void __iomem *ctrl)
> * 500 ms for some margin.
> */
> pm_runtime_use_autosuspend(musb->controller);
> - pm_runtime_set_autosuspend_delay(musb->controller, 500);
> + pm_runtime_set_autosuspend_delay(musb->controller, 100);
> pm_runtime_enable(musb->controller);
> pm_runtime_get_sync(musb->controller);
>
> diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
> --- a/drivers/usb/musb/omap2430.c
> +++ b/drivers/usb/musb/omap2430.c
> @@ -513,17 +513,18 @@ static int omap2430_probe(struct platform_device *pdev)
> }
>
> pm_runtime_enable(glue->dev);
> - pm_runtime_use_autosuspend(glue->dev);
> - pm_runtime_set_autosuspend_delay(glue->dev, 100);
>
> ret = platform_device_add(musb);
> if (ret) {
> dev_err(&pdev->dev, "failed to register musb device\n");
> - goto err2;
> + goto err3;
> }
>
> return 0;
>
> +err3:
> + pm_runtime_disable(glue->dev);
> +
> err2:
> platform_device_put(musb);
>
> @@ -535,10 +536,7 @@ static int omap2430_remove(struct platform_device *pdev)
> {
> struct omap2430_glue *glue = platform_get_drvdata(pdev);
>
> - pm_runtime_get_sync(glue->dev);
> platform_device_unregister(glue->musb);
> - pm_runtime_put_sync(glue->dev);
> - pm_runtime_dont_use_autosuspend(glue->dev);
> pm_runtime_disable(glue->dev);
>
> return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply
* [Intel-wired-lan] [jkirsher-net-queue:dev-queue] BUILD SUCCESS 0344b2dfe0d0e4166360a22822bab4e187f7201e
From: kbuild test robot @ 2016-11-08 22:51 UTC (permalink / raw)
To: intel-wired-lan
https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/net-queue.git dev-queue
0344b2dfe0d0e4166360a22822bab4e187f7201e igb: re-assign hw address pointer on reset after PCI error
elapsed time: 69m
configs tested: 166
The following configs have been built successfully.
More configs may be tested in the coming days.
i386 randconfig-a0-201645
x86_64 randconfig-a0-11090419
blackfin BF526-EZBRD_defconfig
blackfin BF533-EZKIT_defconfig
blackfin BF561-EZKIT-SMP_defconfig
blackfin TCM-BF537_defconfig
cris etrax-100lx_v2_defconfig
i386 tinyconfig
sh allnoconfig
sh rsk7269_defconfig
sh sh7785lcr_32bit_defconfig
sh titan_defconfig
i386 randconfig-c0-11090531
arm allnoconfig
arm at91_dt_defconfig
arm efm32_defconfig
arm exynos_defconfig
arm multi_v5_defconfig
arm multi_v7_defconfig
arm shmobile_defconfig
arm sunxi_defconfig
arm64 allnoconfig
arm64 defconfig
x86_64 randconfig-v0-11090439
alpha defconfig
parisc allnoconfig
parisc b180_defconfig
parisc c3000_defconfig
parisc defconfig
powerpc allnoconfig
powerpc defconfig
powerpc ppc64_defconfig
s390 default_defconfig
avr32 atngw100_defconfig
avr32 atstk1006_defconfig
frv defconfig
mn10300 asb2364_defconfig
openrisc or1ksim_defconfig
tile tilegx_defconfig
um i386_defconfig
um x86_64_defconfig
x86_64 acpi-redef
x86_64 allyesdebian
x86_64 nfsroot
c6x evmc6678_defconfig
h8300 h8300h-sim_defconfig
m32r m32104ut_defconfig
m32r mappi3.smp_defconfig
m32r opsput_defconfig
m32r usrv_defconfig
nios2 10m50_defconfig
score spct6600_defconfig
xtensa common_defconfig
xtensa iss_defconfig
i386 allmodconfig
x86_64 randconfig-x011-201645
x86_64 randconfig-x014-201645
x86_64 randconfig-x015-201645
x86_64 randconfig-x017-201645
x86_64 randconfig-x012-201645
x86_64 randconfig-x018-201645
x86_64 randconfig-x019-201645
x86_64 randconfig-x013-201645
x86_64 randconfig-x016-201645
x86_64 randconfig-x010-201645
i386 alldefconfig
i386 allnoconfig
i386 defconfig
arm allmodconfig
arm arm5
arm arm67
arm imx_v6_v7_defconfig
arm ixp4xx_defconfig
arm mvebu_v7_defconfig
arm omap2plus_defconfig
arm sa1100
arm samsung
arm sh
arm tegra_defconfig
arm64 alldefconfig
arm64 allmodconfig
m68k m5475evb_defconfig
m68k multi_defconfig
m68k sun3_defconfig
i386 randconfig-s0-201645
i386 randconfig-s1-201645
x86_64 randconfig-s0-11090455
x86_64 randconfig-s1-11090455
x86_64 randconfig-s2-11090455
x86_64 randconfig-s0-11090608
x86_64 randconfig-s1-11090608
x86_64 randconfig-s2-11090608
x86_64 randconfig-s3-11090530
x86_64 randconfig-s4-11090530
x86_64 randconfig-s5-11090530
x86_64 randconfig-i0-201645
i386 randconfig-b0-11090516
sparc defconfig
sparc64 allnoconfig
sparc64 defconfig
microblaze mmu_defconfig
microblaze nommu_defconfig
i386 randconfig-i0-201645
i386 randconfig-i1-201645
x86_64 allmodconfig
arm sama5_defconfig
avr32 atngw100mkii_defconfig
m68k allyesconfig
x86_64 randconfig-u0-11090436
openrisc allmodconfig
sh edosk7705_defconfig
arm hisi_defconfig
powerpc mpc8315_rdb_defconfig
powerpc64 alldefconfig
i386 randconfig-x010-201645
i386 randconfig-x011-201645
i386 randconfig-x012-201645
i386 randconfig-x013-201645
i386 randconfig-x014-201645
i386 randconfig-x015-201645
i386 randconfig-x016-201645
i386 randconfig-x017-201645
i386 randconfig-x018-201645
i386 randconfig-x019-201645
i386 randconfig-n0-201645
i386 randconfig-h0-11090459
i386 randconfig-h1-11090459
blackfin DNP5370_defconfig
frv allyesconfig
powerpc mpc836x_rdk_defconfig
ia64 alldefconfig
ia64 allnoconfig
ia64 defconfig
x86_64 randconfig-h0-11090502
arm ep93xx_defconfig
powerpc maple_defconfig
x86_64 kexec
x86_64 rhel-7.2
x86_64 randconfig-n0-11090531
x86_64 randconfig-x000-201645
x86_64 randconfig-x001-201645
x86_64 randconfig-x002-201645
x86_64 randconfig-x003-201645
x86_64 randconfig-x004-201645
x86_64 randconfig-x005-201645
x86_64 randconfig-x006-201645
x86_64 randconfig-x007-201645
x86_64 randconfig-x008-201645
x86_64 randconfig-x009-201645
x86_64 rhel
i386 randconfig-r0-201645
i386 randconfig-x000-201645
i386 randconfig-x001-201645
i386 randconfig-x002-201645
i386 randconfig-x003-201645
i386 randconfig-x004-201645
i386 randconfig-x005-201645
i386 randconfig-x006-201645
i386 randconfig-x007-201645
i386 randconfig-x008-201645
i386 randconfig-x009-201645
mips allnoconfig
mips fuloong2e_defconfig
mips jz4740
mips txx9
i386 randconfig-x0-11090448
Thanks,
Fengguang
^ permalink raw reply
* Re: -fno-PIE, take #3
From: Ben Hutchings @ 2016-11-08 22:51 UTC (permalink / raw)
To: Sebastian Andrzej Siewior, linux-kernel
Cc: Michal Marek, linux-kbuild, x86, Al Viro, Sven Joachim,
Austin S. Hemmelgarn, Borislav Petkov
In-Reply-To: <20161104183940.30692-1-bigeasy@linutronix.de>
[-- Attachment #1: Type: text/plain, Size: 1848 bytes --]
On Fri, 2016-11-04 at 19:39 +0100, Sebastian Andrzej Siewior wrote:
> Debian gcc's is nowdays compiled with --enable-default-pie which means it does
> -fPIE by default. This breaks atleast x86-64 compiles.
> This is the third attempt to fix it, this time by using runtime detection of
> the -fno-PIE compiler switch (it was introduced in gcc 3.4, min required gcc is
> currently 3.2) so it can be backported to the stable kernels.
> As noted by Al this won't fix `git bisect' of stable kernels prio this commit.
> However using always a wrapper around gcc which adds -fno-PIE is not sollution
> I want to rely in future.
I applied the previous version of "kbuild: add -fno-PIE" plus
"scripts/has-stack-protector: add -fno-PIE" to the Debian kernel
package of v4.9-rc3 and built with gcc-6, and the results of auto-
building so far are (from
<https://buildd.debian.org/status/package.php?p=linux&suite=experimental>):
Debian Description Result
name
----------------------------------------------
amd64 x86_64 OK
arm64 ARMv8 OK
armel ARMv5 pending
armhf ARMv7 pending
i386 i686 OK
mips MIPS{32,64}r2 big-endian OK
mipsel MIPS{32,64}r2 little-endian pending
mips64el MIPS64r2, little-endian pending
ppc64el POWER8, little-endian OK
s390x s390x OK
PIE has not been enabled by default on other Debian architectures. The
build failures on hppa and sparc64 are unrelated.
We do enable CONFIG_KEXEC_FILE on amd64 so I don't know how why that
build succeeded without "x86/kexec: add -fno-PIE".
Ben.
--
Ben Hutchings
For every complex problem
there is a solution that is simple, neat, and wrong.
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 801 bytes --]
^ permalink raw reply
* [Buildroot] [PATCH 3/5] qt5webkit: bump to 5.8.0-beta
From: Arnout Vandecappelle @ 2016-11-08 22:51 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1478601048-21388-4-git-send-email-anaumann@ultratronik.de>
On 08-11-16 11:30, Andreas Naumann wrote:
> Using the 5.8.0-beta version qmake fails because private_tests are not available.
> Running qmake a second time makes it compile.
Have you reported this upstream?
Regards,
Arnout
>
> Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
> ---
> package/qt5/qt5webkit/qt5webkit.mk | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk
> index 378cdf7..2489e32 100644
> --- a/package/qt5/qt5webkit/qt5webkit.mk
> +++ b/package/qt5/qt5webkit/qt5webkit.mk
> @@ -4,7 +4,7 @@
> #
> ################################################################################
>
> -QT5WEBKIT_VERSION = b35917bcb44d7f200af0f4ac68a126fa0aa8d93d
> +QT5WEBKIT_VERSION = 431520f1508e92272171c214b087183e71d08ec5
> # Using GitHub since it supports downloading tarballs from random commits.
> # The http://code.qt.io/cgit/qt/qtwebkit.git/ repo doesn't allow to do so.
> QT5WEBKIT_SITE = $(call github,qtproject,qtwebkit,$(QT5WEBKIT_VERSION))
> @@ -52,6 +52,7 @@ QT5WEBKIT_PRE_CONFIGURE_HOOKS += QT5WEBKIT_PYTHON2_SYMLINK
> define QT5WEBKIT_CONFIGURE_CMDS
> mkdir -p $(@D)/.git
> (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/usr/bin/qmake)
> + (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBKIT_ENV) $(HOST_DIR)/usr/bin/qmake)
> endef
>
> define QT5WEBKIT_BUILD_CMDS
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply
* Re: [PATCH 1/4] sched: move IO scheduling accounting from io_schedule_timeout() to __schedule()
From: Tejun Heo @ 2016-11-08 22:51 UTC (permalink / raw)
To: Pavan Kondeti
Cc: torvalds, akpm, mingo, Peter Zijlstra, axboe, tytso, jack,
adilger.kernel, linux-ext4, linux-fsdevel, linux-kernel,
kernel-team, mingbo
In-Reply-To: <CAEU1=P=xnwZwqZE_XLF2b5ZOv_iPwQWYmXBwpvgEVn3_EckhSA@mail.gmail.com>
Hello,
On Thu, Nov 03, 2016 at 09:03:45PM +0530, Pavan Kondeti wrote:
> > diff --git a/kernel/sched/core.c b/kernel/sched/core.c
> > index 94732d1..f6baa38 100644
> > --- a/kernel/sched/core.c
> > +++ b/kernel/sched/core.c
> > @@ -3336,11 +3336,17 @@ static void __sched notrace __schedule(bool preempt)
> > unsigned long *switch_count;
> > struct pin_cookie cookie;
> > struct rq *rq;
> > - int cpu;
> > + int cpu, in_iowait;
> >
> > cpu = smp_processor_id();
> > rq = cpu_rq(cpu);
> > prev = rq->curr;
> > + in_iowait = prev->in_iowait;
> > +
> > + if (in_iowait) {
> > + delayacct_blkio_start();
> > + atomic_inc(&rq->nr_iowait);
> > + }
> >
> > schedule_debug(prev);
> >
> > @@ -3406,6 +3412,11 @@ static void __sched notrace __schedule(bool preempt)
> > }
> >
> > balance_callback(rq);
> > +
> > + if (in_iowait) {
> > + atomic_dec(&rq->nr_iowait);
> > + delayacct_blkio_end();
> > + }
> > }
>
> I think, the nr_iowait update can go wrong here.
>
> When the task migrates to a different CPU upon wakeup, this rq points
> to a different CPU from the one on which nr_iowait is incremented
> before.
Ah, you're right, it should remember the original rq.
Thanks.
--
tejun
^ permalink raw reply
* Re: [PATCH 1/2] clk: pxa mark dummy helper as 'inline'
From: Arnd Bergmann @ 2016-11-08 22:50 UTC (permalink / raw)
To: Stephen Boyd; +Cc: Michael Turquette, Robert Jarzmik, linux-clk, linux-kernel
In-Reply-To: <20161108224259.GL16026@codeaurora.org>
On Tuesday, November 8, 2016 2:42:59 PM CET Stephen Boyd wrote:
> On 11/08, Arnd Bergmann wrote:
> > The dummy_clk_set_parent function is marked as 'static' but is
> > no longer referenced from the pxa25x clk driver after the last use
> > of the RATE_RO_OPS() macro is gone from this file, causing a
> > harmless build warning:
> >
> > In file included from drivers/clk/pxa/clk-pxa25x.c:24:0:
> > drivers/clk/pxa/clk-pxa.h:146:12: error: 'dummy_clk_set_parent' defined but not used [-Werror=unused-function]
> >
> > This marks the functon as 'inline', which lets the compiler simply
> > drop it when it gets referenced.
> >
> > Fixes: 9fe694295098 ("clk: pxa: transfer CPU clock setting from pxa2xx-cpufreq")
>
> I hope I don't rewrite clk-next history... I need some sort of
> magic git pre-commit hook that rewrites fixes tags if the hash
> changes.
>
I think if you end up rebasing clk-next, the correct approach
would be to fold simple bugfixes into the patches that introduce
the problems. Obviously you still need a way to find them though.
Arnd
^ permalink raw reply
* [Buildroot] [PATCH 2/5] Revert "qt5base: install bundled fonts to target"
From: Arnout Vandecappelle @ 2016-11-08 22:50 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1478601048-21388-3-git-send-email-anaumann@ultratronik.de>
On 08-11-16 11:30, Andreas Naumann wrote:
> qtbase carries nor more fonts since c5ceabb9a1caf6b9b7615a28c3097f221772f645
>
> This reverts commit cdfa21b06041eb601e0bea79f2c8f50e9d637384.
>
> Conflicts:
> package/qt5/qt5base/qt5base.mk
>
> Conflicts:
> package/qt5/qt5base/qt5base.mk
>
> Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
Remove the Conflicts: lines. Otherwise looks good.
Regards,
Arnout
> ---
> package/qt5/qt5base/qt5base.mk | 7 -------
> 1 file changed, 7 deletions(-)
>
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index f4ca921..e49718e 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -234,13 +234,6 @@ define QT5BASE_INSTALL_TARGET_PLUGINS
> fi
> endef
>
> -define QT5BASE_INSTALL_TARGET_FONTS
> - if [ -d $(STAGING_DIR)/usr/lib/fonts/ ] ; then \
> - mkdir -p $(TARGET_DIR)/usr/lib/fonts ; \
> - cp -dpfr $(STAGING_DIR)/usr/lib/fonts/* $(TARGET_DIR)/usr/lib/fonts ; \
> - fi
> -endef
> -
> define QT5BASE_INSTALL_TARGET_EXAMPLES
> if [ -d $(STAGING_DIR)/usr/lib/qt/examples/ ] ; then \
> mkdir -p $(TARGET_DIR)/usr/lib/qt/examples ; \
>
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply
* [PATCH] net: ipv4: ip_send_unicast_reply should set oif only if it is L3 master
From: David Ahern @ 2016-11-08 22:50 UTC (permalink / raw)
To: netdev; +Cc: David Ahern
Lorenzo noted an Android unit test failed due to commit e0d56fdd7342:
"The expectation in the test was that the RST replying to a SYN sent to a
closed port should be generated with oif=0. In other words it should not
prefer the interface where the SYN came in on, but instead should follow
whatever the routing table says it should do."
Since this a change in behavior, revert the change to
ip_send_unicast_reply such that the oif in the flow is set to the skb_iif
only if skb_iif is an L3 master.
Fixes: e0d56fdd7342 ("net: l3mdev: remove redundant calls")
Reported-by: Lorenzo Colitti <lorenzo@google.com>
Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
---
net/ipv4/ip_output.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c
index 49714010ac2e..9403fa3850be 100644
--- a/net/ipv4/ip_output.c
+++ b/net/ipv4/ip_output.c
@@ -1577,7 +1577,8 @@ void ip_send_unicast_reply(struct sock *sk, struct sk_buff *skb,
}
oif = arg->bound_dev_if;
- oif = oif ? : skb->skb_iif;
+ if (!oif && netif_index_is_l3_master(net, skb->skb_iif))
+ oif = skb->skb_iif;
flowi4_init_output(&fl4, oif,
IP4_REPLY_MARK(net, skb->mark),
--
2.1.4
^ permalink raw reply related
* [Buildroot] [PATCH 1/5] qt5: bump to 5.8.0-beta
From: Arnout Vandecappelle @ 2016-11-08 22:50 UTC (permalink / raw)
To: buildroot
In-Reply-To: <1478601048-21388-2-git-send-email-anaumann@ultratronik.de>
On 08-11-16 11:30, Andreas Naumann wrote:
> Removed all hashes (until final release).
Review would have been easier if you did that in a separate patch.
>
> - qt5base: renamed library to EglFSDeviceIntegration ([1])
> - qt5base: remove ras-pi patch
You should mention in the commit message why: (applied upstream).
> - qt5base: remove obsolete config-option -large ([2])
-largefile, not -large. Also mention explicitly what happened: largefile is not
always enabled.
> - qt5base: make the directfb platform plugin compile ([3])
> - qt53d/quickcontrols2/serialbus: move out of tech-preview
I didn't see this in your patch?
> - qt5enginio: remove discontinued module
This should have been done in a separate commit.
>
> [1] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ec4eb4db61094179bc6a9ec26ec68fb710177053
> [2] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=84d3a21c9efe7efb2cce6d3bd14af1f9580b1108
> [3] Without this patch, qmake is looking for directfb_egl feature which usually is not
> provided (only by some raspi mkspec afaics).
>
> Signed-off-by: Andreas Naumann <anaumann@ultratronik.de>
[snip]
> diff --git a/package/qt5/qt5base/0001-directfb-make-platform-plugin-compile.patch b/package/qt5/qt5base/0001-directfb-make-platform-plugin-compile.patch
> new file mode 100644
> index 0000000..96cc3b0
> --- /dev/null
> +++ b/package/qt5/qt5base/0001-directfb-make-platform-plugin-compile.patch
> @@ -0,0 +1,22 @@
Missing patch description + SoB. Also make it a git-formatted patch.
For this patch, it is absolutely necessary to get upstream feedback because it
looks very iffy to me.
> +diff --git a/src/plugins/platforms/directfb/directfb.pro b/src/plugins/platforms/directfb/directfb.pro
> +index 406b89e..a83b09f 100644
> +--- a/src/plugins/platforms/directfb/directfb.pro
> ++++ b/src/plugins/platforms/directfb/directfb.pro
> +@@ -3,7 +3,7 @@ TARGET = qdirectfb
> + QT += \
> + core-private gui-private \
> + eventdispatcher_support-private service_support-private \
> +- fontdatabase_support-private egl_support-private
> ++ fontdatabase_support-private
> +
> + QMAKE_USE += directfb
> +
> +@@ -27,7 +27,7 @@ HEADERS = qdirectfbintegration.h \
> + qdirectfbeglhooks.h
> +
> + # ### port the GL context
> +-qtConfig(directfb_egl) {
> ++contains(QT_CONFIG, directfb_egl) {
Aren't these two equivalent? If this is being built for anything other than
linux-mipsel-broadcom-97425-g++, there is really something weird going on...
Anyway, to make the patch correct, you should add QT += egl_support-private here.
Regards,
Arnout
> + HEADERS += qdirectfb_egl.h
> + SOURCES += qdirectfb_egl.cpp
> + DEFINES += DIRECTFB_GL_EGL
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.