* Re: Re: [PATCH v4] [BUGFIX] kprobes: Fix "Failed to find blacklist" error on ia64 and ppc64
From: Michael Ellerman @ 2014-07-02 4:41 UTC (permalink / raw)
To: Masami Hiramatsu
Cc: Jeremy Fitzhardinge, linux-ia64, sparse,
Linux Kernel Mailing List, Paul Mackerras, H. Peter Anvin,
akataria, linux-tip-commits, anil.s.keshavamurthy, Ingo Molnar,
Suzuki K. Poulose, Fenghua Yu, Arnd Bergmann, Rusty Russell,
Chris Wright, yrl.pp-manager.tt, Thomas Gleixner, Tony Luck,
Kevin Hao, Linus Torvalds, rdunlap, Tony Luck, dl9pf,
Andrew Morton, linuxppc-dev, David S. Miller
In-Reply-To: <53B21B0E.8010707@hitachi.com>
On Tue, 2014-07-01 at 11:21 +0900, Masami Hiramatsu wrote:
> (2014/06/30 20:36), Michael Ellerman wrote:
> > On Mon, 2014-06-30 at 12:14 +0900, Masami Hiramatsu wrote:
> >> Ping? :)
> >
> > Yeah sorry. I started looking at this and got dragged into another mess.
> >
> > You seem to have duplicated the functionality of arch_deref_entry_point(),
> > which was also added for kprobes, and for the same reason - ie. because some
> > arches have strange function pointers. Is there some reason you can't use it?
>
> Ah, right! Hmm, it seems some more work to update it. but basically, we can do.
> BTW, is there any other users who need to access the actual function entry (for
> kallsyms case)?
Not that I'm aware of. We have had function descriptors on 64-bit powerpc for
ever, so in theory by now we should have already found any cases where we need
that sort of wrapper.
cheers
^ permalink raw reply
* Re: [PATCH 4/6] KVM: PPC: BOOK3S: HV: Use new functions for mapping/unmapping hpte in host
From: Paul Mackerras @ 2014-07-02 4:28 UTC (permalink / raw)
To: Aneesh Kumar K.V; +Cc: linuxppc-dev, agraf, kvm-ppc, kvm
In-Reply-To: <1404040655-12076-6-git-send-email-aneesh.kumar@linux.vnet.ibm.com>
On Sun, Jun 29, 2014 at 04:47:33PM +0530, Aneesh Kumar K.V wrote:
> We want to use virtual page class key protection mechanism for
> indicating a MMIO mapped hpte entry or a guest hpte entry that is swapped out
> in the host. Those hptes will be marked valid, but have virtual page
> class key set to 30 or 31. These virtual page class numbers are
> configured in AMR to deny read/write. To accomodate such a change, add
> new functions that map, unmap and check whether a hpte is mapped in the
> host. This patch still use HPTE_V_VALID and HPTE_V_ABSENT and don't use
> virtual page class keys. But we want to differentiate in the code
> where we explicitly check for HPTE_V_VALID with places where we want to
> check whether the hpte is host mapped. This patch enables a closer
> review for such a change.
[...]
> /* Check for pending invalidations under the rmap chain lock */
> if (kvm->arch.using_mmu_notifiers &&
> mmu_notifier_retry(kvm, mmu_seq)) {
> - /* inval in progress, write a non-present HPTE */
> - pteh |= HPTE_V_ABSENT;
> - pteh &= ~HPTE_V_VALID;
> + /*
> + * inval in progress in host, write host unmapped pte.
> + */
> + host_unmapped_hpte = 1;
This isn't right. We already have HPTE_V_VALID set here, and you now
don't clear it here, and it doesn't get cleared by the
__kvmppc_unmap_host_hpte() call below either.
Paul.
^ permalink raw reply
* Re: [PATCH V3] powerpc/powernv: Check for IRQHAPPENED before sleeping
From: Michael Ellerman @ 2014-07-02 4:06 UTC (permalink / raw)
To: Preeti U Murthy; +Cc: mikey, linux-kernel, shreyas, linuxppc-dev
In-Reply-To: <20140702034811.2956.30873.stgit@preeti.in.ibm.com>
On Wed, 2014-07-02 at 09:19 +0530, Preeti U Murthy wrote:
> Commit 8d6f7c5a: "powerpc/powernv: Make it possible to skip the IRQHAPPENED
> check in power7_nap()" added code that prevents cpus from checking for
> pending interrupts just before entering sleep state, which is wrong. These
> interrupts are delivered during the soft irq disabled state of the cpu.
Acked-by: Michael Ellerman <mpe@ellerman.id.au>
cheers
^ permalink raw reply
* Re: [PATCH] KVM: PPC: BOOK3S: HV: Update compute_tlbie_rb to handle 16MB base page
From: Paul Mackerras @ 2014-07-02 4:00 UTC (permalink / raw)
To: Aneesh Kumar K.V; +Cc: linuxppc-dev, agraf, kvm-ppc, kvm
In-Reply-To: <1404040655-12076-3-git-send-email-aneesh.kumar@linux.vnet.ibm.com>
On Sun, Jun 29, 2014 at 04:47:30PM +0530, Aneesh Kumar K.V wrote:
> When calculating the lower bits of AVA field, use the shift
> count based on the base page size. Also add the missing segment
> size and remove stale comment.
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: Paul Mackerras <paulus@samba.org>
^ permalink raw reply
* [PATCH V3] powerpc/powernv: Check for IRQHAPPENED before sleeping
From: Preeti U Murthy @ 2014-07-02 3:49 UTC (permalink / raw)
To: benh, mikey, mpe; +Cc: shreyas, linuxppc-dev, linux-kernel
Commit 8d6f7c5a: "powerpc/powernv: Make it possible to skip the IRQHAPPENED
check in power7_nap()" added code that prevents cpus from checking for
pending interrupts just before entering sleep state, which is wrong. These
interrupts are delivered during the soft irq disabled state of the cpu.
A cpu cannot enter any idle state with pending interrupts because they will
never be serviced until the next time the cpu is woken up by some other
interrupt. Its only then that the pending interrupts are replayed. This can result
in device timeouts or warnings about this cpu being stuck.
This patch fixes ths issue by ensuring that cpus check for pending interrupts
just before entering any idle state as long as they are not in the path of split
core operations.
Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
---
Chanes in V2: https://lkml.org/lkml/2014/7/1/3
Modified the changelog to add the details of the problem that this patch
fixes
Changes in V3:
V2 assumed that this patch would be useful only in the context of doorbell
ipis. But that is not true; this patch is required to correctly handle any
type of interrupt delivered in the idle enter path.
arch/powerpc/kernel/idle_power7.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S
index 2480256..5cf3d36 100644
--- a/arch/powerpc/kernel/idle_power7.S
+++ b/arch/powerpc/kernel/idle_power7.S
@@ -131,7 +131,7 @@ _GLOBAL(power7_nap)
_GLOBAL(power7_sleep)
li r3,1
- li r4,0
+ li r4,1
b power7_powersave_common
/* No return */
^ permalink raw reply related
* RE: [PATCH v4] flexcan: add err_irq handler for flexcan
From: qiang.zhao @ 2014-07-02 2:00 UTC (permalink / raw)
To: Marc Kleine-Budde, linuxppc-dev@lists.ozlabs.org,
wg@grandegger.com, linux-can@vger.kernel.org, Scott Wood
In-Reply-To: <53B287A6.10707@pengutronix.de>
T24gMDcvMDEvMjAxNCAwNjowNCBQTSwgTWFyYyBLbGVpbmUtQnVkZGUgd3JvdGU6DQo+IC0tLS0t
T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IE1hcmMgS2xlaW5lLUJ1ZGRlIFttYWlsdG86
bWtsQHBlbmd1dHJvbml4LmRlXQ0KPiBTZW50OiBUdWVzZGF5LCBKdWx5IDAxLCAyMDE0IDY6MDQg
UE0NCj4gVG86IFpoYW8gUWlhbmctQjQ1NDc1OyBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9y
Zzsgd2dAZ3JhbmRlZ2dlci5jb207DQo+IGxpbnV4LWNhbkB2Z2VyLmtlcm5lbC5vcmc7IFdvb2Qg
U2NvdHQtQjA3NDIxDQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjRdIGZsZXhjYW46IGFkZCBlcnJf
aXJxIGhhbmRsZXIgZm9yIGZsZXhjYW4NCj4gDQo+IE9uIDA3LzAxLzIwMTQgMTA6MDMgQU0sIFpo
YW8gUWlhbmcgd3JvdGU6DQo+ID4gd2hlbiBmbGV4Y2FuIGlzIG5vdCBwaHlzaWNhbGx5IGxpbmtl
ZCwgY29tbWFuZCAnY2FudGVzdCcgd2lsbCB0cmlnZ2VyDQo+ID4gYW4gZXJyX2lycSwgYWRkIGVy
cl9pcnEgaGFuZGxlciBmb3IgaXQuDQo+ID4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBaaGFvIFFpYW5n
IDxCNDU0NzVAZnJlZXNjYWxlLmNvbT4NCj4gPiAtLS0NCj4gPiBDaGFuZ2VzIGZvciB2MjoNCj4g
PiAJLSB1c2UgYSBzcGFjZSBpbnN0ZWFkIG9mIHRhYg0KPiA+IAktIHVzZSBmbGV4Y2FuX3BvbGxf
c3RhdGUgaW5zdGVhZCBvZiBwcmludCBDaGFuZ2VzIGZvciB2MzoNCj4gPiAJLSByZXR1cm4gSVJR
X0hBTkRMRUQgaWYgZXJyIGlzIHRyaWdnZXJlZA0KPiA+IAktIHN0b3AgdHJhbnNtaXR0ZWQgcGFj
a2V0cyB3aGVuIHRoZXJlIGlzIGFuIGVycl9pbnRlcnJ1cHQgQ2hhbmdlcw0KPiBmb3INCj4gPiB2
NDoNCj4gPiAJLSBjYWxsIGZsZXhjYW5faXJxDQo+ID4NCj4gPiAgZHJpdmVycy9uZXQvY2FuL2Zs
ZXhjYW4uYyB8IDM4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystDQo+ID4g
IDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ID4NCj4g
PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvY2FuL2ZsZXhjYW4uYyBiL2RyaXZlcnMvbmV0L2Nh
bi9mbGV4Y2FuLmMNCj4gPiBpbmRleCBmNDI1ZWMyLi4wOThmY2FjIDEwMDY0NA0KPiA+IC0tLSBh
L2RyaXZlcnMvbmV0L2Nhbi9mbGV4Y2FuLmMNCj4gPiArKysgYi9kcml2ZXJzL25ldC9jYW4vZmxl
eGNhbi5jDQo+ID4gQEAgLTIwOCw2ICsyMDgsNyBAQCBzdHJ1Y3QgZmxleGNhbl9wcml2IHsNCj4g
PiAgCXZvaWQgX19pb21lbSAqYmFzZTsNCj4gPiAgCXUzMiByZWdfZXNyOw0KPiA+ICAJdTMyIHJl
Z19jdHJsX2RlZmF1bHQ7DQo+ID4gKwlpbnQgZXJyX2lycTsNCj4gPg0KPiA+ICAJc3RydWN0IGNs
ayAqY2xrX2lwZzsNCj4gPiAgCXN0cnVjdCBjbGsgKmNsa19wZXI7DQo+ID4gQEAgLTc0NCw2ICs3
NDUsMjcgQEAgc3RhdGljIGlycXJldHVybl90IGZsZXhjYW5faXJxKGludCBpcnEsIHZvaWQNCj4g
KmRldl9pZCkNCj4gPiAgCXJldHVybiBJUlFfSEFORExFRDsNCj4gPiAgfQ0KPiA+DQo+ID4gK3N0
YXRpYyBpcnFyZXR1cm5fdCBmbGV4Y2FuX2Vycl9pcnEoaW50IGlycSwgdm9pZCAqZGV2X2lkKSB7
DQo+ID4gKwlzdHJ1Y3QgbmV0X2RldmljZSAqZGV2ID0gZGV2X2lkOw0KPiA+ICsJc3RydWN0IGZs
ZXhjYW5fcHJpdiAqcHJpdiA9IG5ldGRldl9wcml2KGRldik7DQo+ID4gKwlzdHJ1Y3QgZmxleGNh
bl9yZWdzIF9faW9tZW0gKnJlZ3MgPSBwcml2LT5iYXNlOw0KPiA+ICsJdTMyIHJlZ19jdHJsLCBy
ZWdfZXNyOw0KPiA+ICsNCj4gPiArCXJlZ19lc3IgPSBmbGV4Y2FuX3JlYWQoJnJlZ3MtPmVzcik7
DQo+ID4gKwlyZWdfY3RybCA9IGZsZXhjYW5fcmVhZCgmcmVncy0+Y3RybCk7DQo+ID4gKw0KPiA+
ICsJaWYgKHJlZ19lc3IgJiBGTEVYQ0FOX0VTUl9BTExfSU5UKSB7DQo+ID4gKwkJaWYgKHJlZ19l
c3IgJiBGTEVYQ0FOX0VTUl9FUlJfSU5UKQ0KPiA+ICsJCQlmbGV4Y2FuX3dyaXRlKHJlZ19jdHJs
ICYgfkZMRVhDQU5fQ1RSTF9FUlJfTVNLLA0KPiA+ICsJCQkJICAgICAgJnJlZ3MtPmN0cmwpOw0K
PiA+ICsJCWZsZXhjYW5faXJxKGlycSwgZGV2KTsNCj4gDQo+IEkgc3RpbGwgZG9uJ3QgdW5kZXJz
dGFuZCB3aHkgeW91IG5lZWQgYSBzcGVjaWFsIGZsZXhjYW5fZXJyX2lycSgpDQo+IGZ1bmN0aW9u
LiBXaHkgZG9uJ3QgeW91IGp1c3QgY2FsbDoNCj4gDQo+IHJlcXVlc3RfaXJxKHByaXYtPmVycl9p
cnEsIGZsZXhjYW5faXJxLCBJUlFGX1NIQVJFRCwgZGV2LT5uYW1lLCBkZXYpOw0KPiANCj4gaW5z
dGVhZD8NCg0KRmxleGNhbl9pcnEgaXMgZm9yIGZsZXhjYW4gbm9ybWFsIGludGVycnVwdChzdWNo
IGFzIE1lc3NhZ2UgQnVmZmVyLCBXYWtlIHVwIGFuZCBzbyBvbikuDQpBbmQgaXQgd2lsbCByZXR1
cm4gSVJRX0hBTkRMRUQgaWYgZmxleGNhbl9pcnEgaXMgdHJpZ2dlcmVkLg0KQnV0IGVycl9pcnEg
aXMgc2hhcmVkIHdpdGggb3RoZXIgZGV2aWNlcywgaXQgc2hvdWxkIHJldHVybiBJUlFfSEFORExF
RCB3aGVuIHRoZSBpbnRlcnJ1cHQgDQppcyB0cmlnZ2VyZWQgYnkgZmxleGNhbiBkZXZpY2UsIGlm
IG5vdCByZXR1cm4gSVJRX05PTkUuDQoNCj4gDQo+ID4gKwkJcmV0dXJuIElSUV9IQU5ETEVEOw0K
PiA+ICsJfQ0KPiA+ICsNCj4gPiArCXJldHVybiBJUlFfTk9ORTsNCj4gPiArfQ0KPiA+ICsNCj4g
PiAgc3RhdGljIHZvaWQgZmxleGNhbl9zZXRfYml0dGltaW5nKHN0cnVjdCBuZXRfZGV2aWNlICpk
ZXYpICB7DQo+ID4gIAljb25zdCBzdHJ1Y3QgZmxleGNhbl9wcml2ICpwcml2ID0gbmV0ZGV2X3By
aXYoZGV2KTsgQEAgLTk0NCw2DQo+ID4gKzk2NiwxNSBAQCBzdGF0aWMgaW50IGZsZXhjYW5fb3Bl
bihzdHJ1Y3QgbmV0X2RldmljZSAqZGV2KQ0KPiA+ICAJaWYgKGVycikNCj4gPiAgCQlnb3RvIG91
dF9jbG9zZTsNCj4gPg0KPiA+ICsJaWYgKHByaXYtPmVycl9pcnEpIHsNCj4gPiArCQllcnIgPSBy
ZXF1ZXN0X2lycShwcml2LT5lcnJfaXJxLCBmbGV4Y2FuX2Vycl9pcnEsIElSUUZfU0hBUkVELA0K
PiA+ICsJCQkJICBkZXYtPm5hbWUsIGRldik7DQo+ID4gKwkJaWYgKGVycikgew0KPiA+ICsJCQlm
cmVlX2lycShwcml2LT5lcnJfaXJxLCBkZXYpOw0KPiANCj4gV2h5IGRvIHlvdSB3YW50IHRvIGZy
ZWUgdGhlIGVycl9pcnEsIGlmIHJlcXVlc3RpbmcgdGhlIGVycl9pcnEgZmFpbHM/DQo+IEhvd2V2
ZXIgeW91IHNob3VsZCBhZGp1c3QgYWxsIGVycm9yIGNsZWFudXAgcGF0aCBmb2xsb3dpbmcgdGhp
cyByZXF1ZXN0DQo+IGlycSwgc28gdGhhdCBpdCB3aWxsIGJlIGZyZWVkLg0KPiANCj4gQlRXOiB3
aGVyZSBpcyB0aGUgY29ycmVzcG9uZGluZyBmcmVlX2lycSgpIGluIGZsZXhjYW5fY2xvc2UoKT8N
Cg0KSGVyZSwgSSB0aGluayB5b3UgYXJlIHJpZ2h0LiBUaGFua3MgZm9yIHlvdXIgcmVtaW5kZXIu
DQpJIHdpbGwgbW9kaWZ5IGl0Lg0KDQo+IA0KPiA+ICsJCQlnb3RvIG91dF9mcmVlX2lycTsNCj4g
PiArCQl9DQo+ID4gKwl9DQo+ID4gKw0KPiA+ICAJLyogc3RhcnQgY2hpcCBhbmQgcXVldWluZyAq
Lw0KPiA+ICAJZXJyID0gZmxleGNhbl9jaGlwX3N0YXJ0KGRldik7DQo+ID4gIAlpZiAoZXJyKQ0K
PiA+IEBAIC0xMDk5LDcgKzExMzAsNyBAQCBzdGF0aWMgaW50IGZsZXhjYW5fcHJvYmUoc3RydWN0
IHBsYXRmb3JtX2RldmljZQ0KPiAqcGRldikNCj4gPiAgCXN0cnVjdCByZXNvdXJjZSAqbWVtOw0K
PiA+ICAJc3RydWN0IGNsayAqY2xrX2lwZyA9IE5VTEwsICpjbGtfcGVyID0gTlVMTDsNCj4gPiAg
CXZvaWQgX19pb21lbSAqYmFzZTsNCj4gPiAtCWludCBlcnIsIGlycTsNCj4gPiArCWludCBlcnIs
IGlycSwgZXJyX2lycTsNCj4gPiAgCXUzMiBjbG9ja19mcmVxID0gMDsNCj4gPg0KPiA+ICAJaWYg
KHBkZXYtPmRldi5vZl9ub2RlKQ0KPiA+IEBAIC0xMTI2LDYgKzExNTcsMTAgQEAgc3RhdGljIGlu
dCBmbGV4Y2FuX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UNCj4gKnBkZXYpDQo+ID4gIAlp
ZiAoaXJxIDw9IDApDQo+ID4gIAkJcmV0dXJuIC1FTk9ERVY7DQo+ID4NCj4gPiArCWVycl9pcnEg
PSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDEpOw0KPiA+ICsJaWYgKGVycl9pcnEgPD0gMCkNCj4g
PiArCQllcnJfaXJxID0gMDsNCj4gPiArDQo+ID4gIAliYXNlID0gZGV2bV9pb3JlbWFwX3Jlc291
cmNlKCZwZGV2LT5kZXYsIG1lbSk7DQo+ID4gIAlpZiAoSVNfRVJSKGJhc2UpKQ0KPiA+ICAJCXJl
dHVybiBQVFJfRVJSKGJhc2UpOw0KPiA+IEBAIC0xMTQ5LDYgKzExODQsNyBAQCBzdGF0aWMgaW50
IGZsZXhjYW5fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZQ0KPiAqcGRldikNCj4gPiAgCWRl
di0+ZmxhZ3MgfD0gSUZGX0VDSE87DQo+ID4NCj4gPiAgCXByaXYgPSBuZXRkZXZfcHJpdihkZXYp
Ow0KPiA+ICsJcHJpdi0+ZXJyX2lycSA9IGVycl9pcnE7DQo+ID4gIAlwcml2LT5jYW4uY2xvY2su
ZnJlcSA9IGNsb2NrX2ZyZXE7DQo+ID4gIAlwcml2LT5jYW4uYml0dGltaW5nX2NvbnN0ID0gJmZs
ZXhjYW5fYml0dGltaW5nX2NvbnN0Ow0KPiA+ICAJcHJpdi0+Y2FuLmRvX3NldF9tb2RlID0gZmxl
eGNhbl9zZXRfbW9kZTsNCj4gPg0KPiANCj4gTWFyYw0KPiANCj4gLS0NCj4gUGVuZ3V0cm9uaXgg
ZS5LLiAgICAgICAgICAgICAgICAgIHwgTWFyYyBLbGVpbmUtQnVkZGUgICAgICAgICAgIHwNCj4g
SW5kdXN0cmlhbCBMaW51eCBTb2x1dGlvbnMgICAgICAgIHwgUGhvbmU6ICs0OS0yMzEtMjgyNi05
MjQgICAgIHwNCj4gVmVydHJldHVuZyBXZXN0L0RvcnRtdW5kICAgICAgICAgIHwgRmF4OiAgICs0
OS01MTIxLTIwNjkxNy01NTU1IHwNCj4gQW10c2dlcmljaHQgSGlsZGVzaGVpbSwgSFJBIDI2ODYg
IHwgaHR0cDovL3d3dy5wZW5ndXRyb25peC5kZSAgIHwNCg0K
^ permalink raw reply
* Re: [1/3,v4] powerpc/fsl-booke: Add support for T2080/T2081 SoC
From: Scott Wood @ 2014-07-02 1:43 UTC (permalink / raw)
To: Shengzhou Liu; +Cc: linuxppc-dev
In-Reply-To: <1402481406-10830-1-git-send-email-Shengzhou.Liu@freescale.com>
On Wed, Jun 11, 2014 at 06:10:04PM +0800, Shengzhou Liu wrote:
> +/* controller at 0x240000 */
> +&pci0 {
> + compatible = "fsl,t2080-pcie", "fsl,qoriq-pcie";
None of your patches add "fsl,qoriq-pcie" to of_device_ids[] in
corenet_generic.c, so PCIe will not get probed.
Worse, if I add that string, the kernel hangs trying to access a PCIe
controller that is disabled by the RCW. This is because U-Boot is
expecting "fsl,qoriq-pcie-v3.0", and thus can't find the disabled node in
order to delete it.
Did you test PCIe at all on these boards?
Did you test other peripherals?
-Scott
^ permalink raw reply
* Re: Regression in 3.15 on POWER8 with multipath SCSI
From: Mike Snitzer @ 2014-07-01 19:39 UTC (permalink / raw)
To: Paul Mackerras
Cc: Vladimir Davydov, bvanassche, linux-kernel, linuxppc-dev,
dm-devel, Andrew Morton, Linus Torvalds
In-Reply-To: <20140630103058.GA17747@iris.ozlabs.ibm.com>
On Mon, Jun 30 2014 at 6:30am -0400,
Paul Mackerras <paulus@samba.org> wrote:
> I have a machine on which 3.15 usually fails to boot, and 3.14 boots
> every time. The machine is a POWER8 2-socket server with 20 cores
> (thus 160 CPUs), 128GB of RAM, and 7 SCSI disks connected via a
> hardware-RAID-capable adapter which appears as two IPR controllers
> which are both connected to each disk. I am booting from a disk that
> has Fedora 20 installed on it.
>
> After over two weeks of bisections, I can finally point to the commits
> that cause the problems. The culprits are:
>
> 3e9f1be1 dm mpath: remove process_queued_ios()
> e8099177 dm mpath: push back requests instead of queueing
> bcccff93 kobject: don't block for each kobject_uevent
>
> The interesting thing is that neither e8099177 nor bcccff93 cause
> failures on their own, but with both commits in there are failures
> where the system will fail to find /home on some occasions.
>
> With 3e9f1be1 included, the system appears to be prone to a deadlock
> condition which typically causes the boot process to hang with this
> message showing:
>
> A start job is running for Monitoring of LVM2 mirror...rogress polling
>
> (with a [*** ] thing before it where the asterisks move back and
> forth).
>
> If I revert 63d832c3 ("dm mpath: really fix lockdep warning") ,
> 4cdd2ad7 ("dm mpath: fix lock order inconsistency in
> multipath_ioctl"), 3e9f1be1 and bcccff93, in that order, I get a
> kernel that will boot every time. The first two are later commits
> that fix some problems with 3e9f1be1 (though not the problems I am
> seeing).
>
> Can anyone see any reason why e8099177 and bcccff93 would interfere
> with each other?
No, not seeing any obvious relation.
But even though you listed e8099177 as a culprit you didn't list it as a
commit you reverted. Did you leave e8099177 simply because attempting
to revert it fails (if you don't first revert other dm-mpath.c commits)?
(btw, Bart Van Assche also has issues with commit e8099177 due to hangs
during cable pull testing of mpath devices -- Bart: curious to know if
your cable pull tests pass if you just revert bcccff93).
Mike
^ permalink raw reply
* Re: [PATCH v4] flexcan: add err_irq handler for flexcan
From: Marc Kleine-Budde @ 2014-07-01 10:04 UTC (permalink / raw)
To: Zhao Qiang, linuxppc-dev, wg, linux-can, B07421
In-Reply-To: <1404201809-7010-1-git-send-email-B45475@freescale.com>
[-- Attachment #1: Type: text/plain, Size: 3896 bytes --]
On 07/01/2014 10:03 AM, Zhao Qiang wrote:
> when flexcan is not physically linked, command 'cantest' will
> trigger an err_irq, add err_irq handler for it.
>
> Signed-off-by: Zhao Qiang <B45475@freescale.com>
> ---
> Changes for v2:
> - use a space instead of tab
> - use flexcan_poll_state instead of print
> Changes for v3:
> - return IRQ_HANDLED if err is triggered
> - stop transmitted packets when there is an err_interrupt
> Changes for v4:
> - call flexcan_irq
>
> drivers/net/can/flexcan.c | 38 +++++++++++++++++++++++++++++++++++++-
> 1 file changed, 37 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> index f425ec2..098fcac 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -208,6 +208,7 @@ struct flexcan_priv {
> void __iomem *base;
> u32 reg_esr;
> u32 reg_ctrl_default;
> + int err_irq;
>
> struct clk *clk_ipg;
> struct clk *clk_per;
> @@ -744,6 +745,27 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id)
> return IRQ_HANDLED;
> }
>
> +static irqreturn_t flexcan_err_irq(int irq, void *dev_id)
> +{
> + struct net_device *dev = dev_id;
> + struct flexcan_priv *priv = netdev_priv(dev);
> + struct flexcan_regs __iomem *regs = priv->base;
> + u32 reg_ctrl, reg_esr;
> +
> + reg_esr = flexcan_read(®s->esr);
> + reg_ctrl = flexcan_read(®s->ctrl);
> +
> + if (reg_esr & FLEXCAN_ESR_ALL_INT) {
> + if (reg_esr & FLEXCAN_ESR_ERR_INT)
> + flexcan_write(reg_ctrl & ~FLEXCAN_CTRL_ERR_MSK,
> + ®s->ctrl);
> + flexcan_irq(irq, dev);
I still don't understand why you need a special flexcan_err_irq()
function. Why don't you just call:
request_irq(priv->err_irq, flexcan_irq, IRQF_SHARED, dev->name, dev);
instead?
> + return IRQ_HANDLED;
> + }
> +
> + return IRQ_NONE;
> +}
> +
> static void flexcan_set_bittiming(struct net_device *dev)
> {
> const struct flexcan_priv *priv = netdev_priv(dev);
> @@ -944,6 +966,15 @@ static int flexcan_open(struct net_device *dev)
> if (err)
> goto out_close;
>
> + if (priv->err_irq) {
> + err = request_irq(priv->err_irq, flexcan_err_irq, IRQF_SHARED,
> + dev->name, dev);
> + if (err) {
> + free_irq(priv->err_irq, dev);
Why do you want to free the err_irq, if requesting the err_irq fails?
However you should adjust all error cleanup path following this request
irq, so that it will be freed.
BTW: where is the corresponding free_irq() in flexcan_close()?
> + goto out_free_irq;
> + }
> + }
> +
> /* start chip and queuing */
> err = flexcan_chip_start(dev);
> if (err)
> @@ -1099,7 +1130,7 @@ static int flexcan_probe(struct platform_device *pdev)
> struct resource *mem;
> struct clk *clk_ipg = NULL, *clk_per = NULL;
> void __iomem *base;
> - int err, irq;
> + int err, irq, err_irq;
> u32 clock_freq = 0;
>
> if (pdev->dev.of_node)
> @@ -1126,6 +1157,10 @@ static int flexcan_probe(struct platform_device *pdev)
> if (irq <= 0)
> return -ENODEV;
>
> + err_irq = platform_get_irq(pdev, 1);
> + if (err_irq <= 0)
> + err_irq = 0;
> +
> base = devm_ioremap_resource(&pdev->dev, mem);
> if (IS_ERR(base))
> return PTR_ERR(base);
> @@ -1149,6 +1184,7 @@ static int flexcan_probe(struct platform_device *pdev)
> dev->flags |= IFF_ECHO;
>
> priv = netdev_priv(dev);
> + priv->err_irq = err_irq;
> priv->can.clock.freq = clock_freq;
> priv->can.bittiming_const = &flexcan_bittiming_const;
> priv->can.do_set_mode = flexcan_set_mode;
>
Marc
--
Pengutronix e.K. | Marc Kleine-Budde |
Industrial Linux Solutions | Phone: +49-231-2826-924 |
Vertretung West/Dortmund | Fax: +49-5121-206917-5555 |
Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 242 bytes --]
^ permalink raw reply
* Re: [PATCH v2 09/10] arm64,ia64,ppc,s390,sh,tile,um,x86,mm: Remove default gate area
From: Will Deacon @ 2014-07-01 9:23 UTC (permalink / raw)
To: Andy Lutomirski
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
Catalin Marinas, Heiko Carstens, linux-mm@kvack.org,
Paul Mackerras, H. Peter Anvin, linux-arch@vger.kernel.org,
linux-s390@vger.kernel.org, Richard Weinberger, x86@kernel.org,
Ingo Molnar, Fenghua Yu,
user-mode-linux-devel@lists.sourceforge.net, Jeff Dike,
Chris Metcalf, Thomas Gleixner,
linux-arm-kernel@lists.infradead.org, Tony Luck, Nathan Lynch,
linux-kernel@vger.kernel.org, hpa@zytor.org, Martin Schwidefsky,
linux390@de.ibm.com, linuxppc-dev@lists.ozlabs.org
In-Reply-To: <e1656ab2adfd1891f62610abe3e85ad992ee0cbf.1404164803.git.luto@amacapital.net>
On Mon, Jun 30, 2014 at 10:53:20PM +0100, Andy Lutomirski wrote:
> The core mm code will provide a default gate area based on
> FIXADDR_USER_START and FIXADDR_USER_END if
> !defined(__HAVE_ARCH_GATE_AREA) && defined(AT_SYSINFO_EHDR).
>
> This default is only useful for ia64. arm64, ppc, s390, sh, tile,
> 64-bit UML, and x86_32 have their own code just to disable it. arm,
> 32-bit UML, and x86_64 have gate areas, but they have their own
> implementations.
>
> This gets rid of the default and moves the code into ia64.
>
> This should save some code on architectures without a gate area: it's
> now possible to inline the gate_area functions in the default case.
For the arm64 bit:
Acked-by: Will Deacon <will.deacon@arm.com>
Will
^ permalink raw reply
* [PATCH] dmaengine: fix xor sources continuation
From: xuelin.shi @ 2014-07-01 8:32 UTC (permalink / raw)
To: dan.j.williams, vinod.koul; +Cc: dmaengine, Xuelin Shi, linuxppc-dev
From: Xuelin Shi <xuelin.shi@freescale.com>
the partial xor result must be kept until the next
tx is generated.
Signed-off-by: Xuelin Shi <xuelin.shi@freescale.com>
---
crypto/async_tx/async_xor.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/crypto/async_tx/async_xor.c b/crypto/async_tx/async_xor.c
index 3c562f5..e1bce26 100644
--- a/crypto/async_tx/async_xor.c
+++ b/crypto/async_tx/async_xor.c
@@ -78,8 +78,6 @@ do_async_xor(struct dma_chan *chan, struct dmaengine_unmap_data *unmap,
tx = dma->device_prep_dma_xor(chan, dma_dest, src_list,
xor_src_cnt, unmap->len,
dma_flags);
- src_list[0] = tmp;
-
if (unlikely(!tx))
async_tx_quiesce(&submit->depend_tx);
@@ -92,6 +90,7 @@ do_async_xor(struct dma_chan *chan, struct dmaengine_unmap_data *unmap,
xor_src_cnt, unmap->len,
dma_flags);
}
+ src_list[0] = tmp;
dma_set_unmap(tx, unmap);
async_tx_submit(chan, tx, submit);
--
1.9.1
^ permalink raw reply related
* [PATCH v2] powerpc/kvm: support to handle sw breakpoint
From: Madhavan Srinivasan @ 2014-07-01 8:41 UTC (permalink / raw)
To: agraf, benh, paulus; +Cc: Madhavan Srinivasan, linuxppc-dev, kvm, kvm-ppc
This patch adds kernel side support for software breakpoint.
Design is that, by using an illegal instruction, we trap to hypervisor
via Emulation Assistance interrupt, where we check for the illegal instruction
and accordingly we return to Host or Guest. Patch also adds support for
software breakpoint in PR KVM.
Patch mandates use of "abs" instruction as sw breakpoint instruction
(primary opcode 31 and extended opcode 360). Based on PowerISA v2.01,
ABS instruction has been dropped from the architecture and treated an
illegal instruction.
Changes v1->v2:
Moved the debug instruction #def to kvm_book3s.h. This way PR_KVM can also share it.
Added code to use KVM get one reg infrastructure to get debug opcode.
Updated emulate.c to include emulation of debug instruction incase of PR_KVM.
Made changes to commit message.
Signed-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>
---
arch/powerpc/include/asm/kvm_book3s.h | 8 ++++++++
arch/powerpc/include/asm/ppc-opcode.h | 5 +++++
arch/powerpc/kvm/book3s.c | 3 ++-
arch/powerpc/kvm/book3s_hv.c | 9 +++++++++
arch/powerpc/kvm/book3s_pr.c | 3 +++
arch/powerpc/kvm/emulate.c | 10 ++++++++++
6 files changed, 37 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h
index f52f656..180d549 100644
--- a/arch/powerpc/include/asm/kvm_book3s.h
+++ b/arch/powerpc/include/asm/kvm_book3s.h
@@ -24,6 +24,14 @@
#include <linux/kvm_host.h>
#include <asm/kvm_book3s_asm.h>
+/*
+ * KVMPPC_INST_BOOK3S_DEBUG is debug Instruction for supporting Software Breakpoint.
+ * Instruction mnemonic is ABS, primary opcode is 31 and extended opcode is 360.
+ * Based on PowerISA v2.01, ABS instruction has been dropped from the architecture
+ * and treated an illegal instruction.
+ */
+#define KVMPPC_INST_BOOK3S_DEBUG 0x7c0002d0
+
struct kvmppc_bat {
u64 raw;
u32 bepi;
diff --git a/arch/powerpc/include/asm/ppc-opcode.h b/arch/powerpc/include/asm/ppc-opcode.h
index 3132bb9..3fbb4c1 100644
--- a/arch/powerpc/include/asm/ppc-opcode.h
+++ b/arch/powerpc/include/asm/ppc-opcode.h
@@ -111,6 +111,11 @@
#define OP_31_XOP_LHBRX 790
#define OP_31_XOP_STHBRX 918
+/* KVMPPC_INST_BOOK3S_DEBUG -- Software breakpoint Instruction
+ * Instruction mnemonic is ABS, primary opcode is 31 and extended opcode is 360.
+ */
+#define OP_31_XOP_ABS 360
+
#define OP_LWZ 32
#define OP_LD 58
#define OP_LWZU 33
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c
index c254c27..b40fe5d 100644
--- a/arch/powerpc/kvm/book3s.c
+++ b/arch/powerpc/kvm/book3s.c
@@ -789,7 +789,8 @@ int kvm_arch_vcpu_ioctl_translate(struct kvm_vcpu *vcpu,
int kvm_arch_vcpu_ioctl_set_guest_debug(struct kvm_vcpu *vcpu,
struct kvm_guest_debug *dbg)
{
- return -EINVAL;
+ vcpu->guest_debug = dbg->control;
+ return 0;
}
void kvmppc_decrementer_func(unsigned long data)
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 7a12edb..402c1ec 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -725,8 +725,14 @@ static int kvmppc_handle_exit_hv(struct kvm_run *run, struct kvm_vcpu *vcpu,
* we don't emulate any guest instructions at this stage.
*/
case BOOK3S_INTERRUPT_H_EMUL_ASSIST:
+ if (kvmppc_get_last_inst(vcpu) == KVMPPC_INST_BOOK3S_DEBUG ) {
+ run->exit_reason = KVM_EXIT_DEBUG;
+ run->debug.arch.address = kvmppc_get_pc(vcpu);
+ r = RESUME_HOST;
+ } else {
kvmppc_core_queue_program(vcpu, SRR1_PROGILL);
r = RESUME_GUEST;
+ }
break;
/*
* This occurs if the guest (kernel or userspace), does something that
@@ -831,6 +837,9 @@ static int kvmppc_get_one_reg_hv(struct kvm_vcpu *vcpu, u64 id,
long int i;
switch (id) {
+ case KVM_REG_PPC_DEBUG_INST:
+ *val = get_reg_val(id, KVMPPC_INST_BOOK3S_DEBUG);
+ break;
case KVM_REG_PPC_HIOR:
*val = get_reg_val(id, 0);
break;
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index 8eef1e5..27f5234 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -1229,6 +1229,9 @@ static int kvmppc_get_one_reg_pr(struct kvm_vcpu *vcpu, u64 id,
int r = 0;
switch (id) {
+ case KVM_REG_PPC_DEBUG_INST:
+ *val = get_reg_val(id, KVMPPC_INST_BOOK3S_DEBUG);
+ break;
case KVM_REG_PPC_HIOR:
*val = get_reg_val(id, to_book3s(vcpu)->hior);
break;
diff --git a/arch/powerpc/kvm/emulate.c b/arch/powerpc/kvm/emulate.c
index da86d9b..13fba51 100644
--- a/arch/powerpc/kvm/emulate.c
+++ b/arch/powerpc/kvm/emulate.c
@@ -363,6 +363,16 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
2, 0);
break;
+ case OP_31_XOP_ABS:
+ /*
+ * This is debug instruction. So we dont emulate instead,
+ * We fill the pc and exit code and direct the return to host.
+ */
+ run->exit_reason = KVM_EXIT_DEBUG;
+ run->debug.arch.address = kvmppc_get_pc(vcpu);
+ emulated = EMULATE_EXIT_USER;
+ break;
+
default:
/* Attempt core-specific emulation below. */
emulated = EMULATE_FAIL;
--
1.7.10.4
^ permalink raw reply related
* [PATCH v4] flexcan: add err_irq handler for flexcan
From: Zhao Qiang @ 2014-07-01 8:03 UTC (permalink / raw)
To: linuxppc-dev, wg, mkl, linux-can, B07421; +Cc: Zhao Qiang
when flexcan is not physically linked, command 'cantest' will
trigger an err_irq, add err_irq handler for it.
Signed-off-by: Zhao Qiang <B45475@freescale.com>
---
Changes for v2:
- use a space instead of tab
- use flexcan_poll_state instead of print
Changes for v3:
- return IRQ_HANDLED if err is triggered
- stop transmitted packets when there is an err_interrupt
Changes for v4:
- call flexcan_irq
drivers/net/can/flexcan.c | 38 +++++++++++++++++++++++++++++++++++++-
1 file changed, 37 insertions(+), 1 deletion(-)
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index f425ec2..098fcac 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -208,6 +208,7 @@ struct flexcan_priv {
void __iomem *base;
u32 reg_esr;
u32 reg_ctrl_default;
+ int err_irq;
struct clk *clk_ipg;
struct clk *clk_per;
@@ -744,6 +745,27 @@ static irqreturn_t flexcan_irq(int irq, void *dev_id)
return IRQ_HANDLED;
}
+static irqreturn_t flexcan_err_irq(int irq, void *dev_id)
+{
+ struct net_device *dev = dev_id;
+ struct flexcan_priv *priv = netdev_priv(dev);
+ struct flexcan_regs __iomem *regs = priv->base;
+ u32 reg_ctrl, reg_esr;
+
+ reg_esr = flexcan_read(®s->esr);
+ reg_ctrl = flexcan_read(®s->ctrl);
+
+ if (reg_esr & FLEXCAN_ESR_ALL_INT) {
+ if (reg_esr & FLEXCAN_ESR_ERR_INT)
+ flexcan_write(reg_ctrl & ~FLEXCAN_CTRL_ERR_MSK,
+ ®s->ctrl);
+ flexcan_irq(irq, dev);
+ return IRQ_HANDLED;
+ }
+
+ return IRQ_NONE;
+}
+
static void flexcan_set_bittiming(struct net_device *dev)
{
const struct flexcan_priv *priv = netdev_priv(dev);
@@ -944,6 +966,15 @@ static int flexcan_open(struct net_device *dev)
if (err)
goto out_close;
+ if (priv->err_irq) {
+ err = request_irq(priv->err_irq, flexcan_err_irq, IRQF_SHARED,
+ dev->name, dev);
+ if (err) {
+ free_irq(priv->err_irq, dev);
+ goto out_free_irq;
+ }
+ }
+
/* start chip and queuing */
err = flexcan_chip_start(dev);
if (err)
@@ -1099,7 +1130,7 @@ static int flexcan_probe(struct platform_device *pdev)
struct resource *mem;
struct clk *clk_ipg = NULL, *clk_per = NULL;
void __iomem *base;
- int err, irq;
+ int err, irq, err_irq;
u32 clock_freq = 0;
if (pdev->dev.of_node)
@@ -1126,6 +1157,10 @@ static int flexcan_probe(struct platform_device *pdev)
if (irq <= 0)
return -ENODEV;
+ err_irq = platform_get_irq(pdev, 1);
+ if (err_irq <= 0)
+ err_irq = 0;
+
base = devm_ioremap_resource(&pdev->dev, mem);
if (IS_ERR(base))
return PTR_ERR(base);
@@ -1149,6 +1184,7 @@ static int flexcan_probe(struct platform_device *pdev)
dev->flags |= IFF_ECHO;
priv = netdev_priv(dev);
+ priv->err_irq = err_irq;
priv->can.clock.freq = clock_freq;
priv->can.bittiming_const = &flexcan_bittiming_const;
priv->can.do_set_mode = flexcan_set_mode;
--
1.8.5
^ permalink raw reply related
* Re: Build regressions/improvements in v3.16-rc3
From: Geert Uytterhoeven @ 2014-07-01 8:01 UTC (permalink / raw)
To: linux-kernel@vger.kernel.org; +Cc: linuxppc-dev@lists.ozlabs.org, Linux-sh list
In-Reply-To: <1404201524-7568-1-git-send-email-geert@linux-m68k.org>
On Tue, Jul 1, 2014 at 9:58 AM, Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> JFYI, when comparing v3.16-rc3[1] to v3.16-rc2[3], the summaries are:
> - build errors: +5/-63
+ /scratch/kisskb/src/kernel/bounds.c: error: -mcall-aixdesc must be
big endian: => 1:0
+ /scratch/kisskb/src/scripts/mod/devicetable-offsets.c: error:
-mcall-aixdesc must be big endianmake[3]: : => 1:0
+ /scratch/kisskb/src/scripts/mod/empty.c: error: -mcall-aixdesc
must be big endian: => 1:0
+ <stdin>: error: -mcall-aixdesc must be big endian: => 1:0
powerpc-randconfig
+ error: misc.c: undefined reference to `ftrace_likely_update': =>
.text+0x22c), .text+0x898)
sh-randconfig
> [1] http://kisskb.ellerman.id.au/kisskb/head/7619/ (all 119 configs)
> [3] http://kisskb.ellerman.id.au/kisskb/head/7595/ (all 119 configs)
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply
* Re: Regression in 3.15 on POWER8 with multipath SCSI
From: Hannes Reinecke @ 2014-07-01 5:57 UTC (permalink / raw)
To: Paul Mackerras
Cc: Vladimir Davydov, Kay Sievers, linux-kernel, linuxppc-dev,
dm-devel, Andrew Morton, Linus Torvalds
In-Reply-To: <20140630212801.GB20819@iris.ozlabs.ibm.com>
On 06/30/2014 11:28 PM, Paul Mackerras wrote:
> On Mon, Jun 30, 2014 at 01:35:20PM +0200, Hannes Reinecke wrote:
>> On 06/30/2014 01:02 PM, Paul Mackerras wrote:
[ .. ]
>>>
>>> No, I'm not using LVM, and in fact I deleted all the physical volumes
>>> that were on any of the disks (they were installations of other
>>> distros), so there are no physical or logical volumes anywhere on any
>>> disk. I haven't tried disabling the LVM service completely, though.
>>> What would it mean if disabling the LVM service made a difference?
>>>
>> Yes. LVM integration with systemd is a science unto itself.
>> I'm reasonably confident with multipath, but not LVM.
>> Plus the fact the the LVM service apparently is waiting for something sort
>> of points into that direction.
>>
>> So please do disable the lvm service.
>
> I disabled the LVM service, and it's still bad. Unmodified 3.15
> booted successfully in only 18 out of 50 attempts with LVM disabled.
>
> So it's not LVM. In any case LVM was fine with a 3.14 kernel.
>
Right, that was just a cross-check to eliminate any variables.
I'll be checking here at my end.
Cheers,
Hannes
--
Dr. Hannes Reinecke zSeries & Storage
hare@suse.de +49 911 74053 688
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg)
^ permalink raw reply
* RE: [RESEND PATCH] memory: Freescale CoreNet Coherency Fabric error reporting driver
From: Bharat.Bhushan @ 2014-07-01 4:16 UTC (permalink / raw)
To: Scott Wood
Cc: Greg Kroah-Hartman, linuxppc-dev@lists.ozlabs.org,
linux-kernel@vger.kernel.org
In-Reply-To: <1404161983.2435.182.camel@snotra.buserror.net>
DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogV29vZCBTY290dC1CMDc0
MjENCj4gU2VudDogVHVlc2RheSwgSnVseSAwMSwgMjAxNCAyOjMwIEFNDQo+IFRvOiBCaHVzaGFu
IEJoYXJhdC1SNjU3NzcNCj4gQ2M6IEdyZWcgS3JvYWgtSGFydG1hbjsgbGludXhwcGMtZGV2QGxp
c3RzLm96bGFicy5vcmc7IGxpbnV4LQ0KPiBrZXJuZWxAdmdlci5rZXJuZWwub3JnDQo+IFN1Ympl
Y3Q6IFJlOiBbUkVTRU5EIFBBVENIXSBtZW1vcnk6IEZyZWVzY2FsZSBDb3JlTmV0IENvaGVyZW5j
eSBGYWJyaWMgZXJyb3INCj4gcmVwb3J0aW5nIGRyaXZlcg0KPiANCj4gT24gU3VuLCAyMDE0LTA2
LTI5IGF0IDIzOjU4IC0wNTAwLCBCaHVzaGFuIEJoYXJhdC1SNjU3Nzcgd3JvdGU6DQo+ID4NCj4g
PiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiBGcm9tOiBXb29kIFNjb3R0LUIw
NzQyMQ0KPiA+ID4gU2VudDogV2VkbmVzZGF5LCBKdW5lIDA0LCAyMDE0IDEwOjM4IFBNDQo+ID4g
PiBUbzogQmh1c2hhbiBCaGFyYXQtUjY1Nzc3DQo+ID4gPiBDYzogR3JlZyBLcm9haC1IYXJ0bWFu
OyBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZzsgbGludXgtDQo+ID4gPiBrZXJuZWxAdmdl
ci5rZXJuZWwub3JnDQo+ID4gPiBTdWJqZWN0OiBSZTogW1JFU0VORCBQQVRDSF0gbWVtb3J5OiBG
cmVlc2NhbGUgQ29yZU5ldCBDb2hlcmVuY3kNCj4gPiA+IEZhYnJpYyBlcnJvciByZXBvcnRpbmcg
ZHJpdmVyDQo+ID4gPg0KPiA+ID4gT24gV2VkLCAyMDE0LTA2LTA0IGF0IDEyOjA0IC0wNTAwLCBC
aHVzaGFuIEJoYXJhdC1SNjU3Nzcgd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+ID4gLS0tLS1Pcmln
aW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBXb29kIFNjb3R0LUIwNzQyMQ0KPiA+
ID4gPiA+IFNlbnQ6IFdlZG5lc2RheSwgSnVuZSAwNCwgMjAxNCAxMDoxMiBQTQ0KPiA+ID4gPiA+
IFRvOiBCaHVzaGFuIEJoYXJhdC1SNjU3NzcNCj4gPiA+ID4gPiBDYzogR3JlZyBLcm9haC1IYXJ0
bWFuOyBsaW51eHBwYy1kZXZAbGlzdHMub3psYWJzLm9yZzsgbGludXgtDQo+ID4gPiA+ID4ga2Vy
bmVsQHZnZXIua2VybmVsLm9yZw0KPiA+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUkVTRU5EIFBBVENI
XSBtZW1vcnk6IEZyZWVzY2FsZSBDb3JlTmV0IENvaGVyZW5jeQ0KPiA+ID4gPiA+IEZhYnJpYyBl
cnJvciByZXBvcnRpbmcgZHJpdmVyDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBPbiBXZWQsIDIwMTQt
MDYtMDQgYXQgMDM6MTcgLTA1MDAsIEJodXNoYW4gQmhhcmF0LVI2NTc3NyB3cm90ZToNCj4gPiA+
ID4gPiA+ID4gK3N0YXRpYyBpbnQgY2NmX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw
ZGV2KSB7DQo+ID4gPiA+ID4gPiA+ICsJc3RydWN0IGNjZl9wcml2YXRlICpjY2YgPSBkZXZfZ2V0
X2RydmRhdGEoJnBkZXYtPmRldik7DQo+ID4gPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiA+ID4gKwlz
d2l0Y2ggKGNjZi0+aW5mby0+dmVyc2lvbikgew0KPiA+ID4gPiA+ID4gPiArCWNhc2UgQ0NGMToN
Cj4gPiA+ID4gPiA+ID4gKwkJaW93cml0ZTMyYmUoMCwgJmNjZi0+ZXJyX3JlZ3MtPmVycmRpcyk7
DQo+ID4gPiA+ID4gPiA+ICsJCWJyZWFrOw0KPiA+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiA+
ICsJY2FzZSBDQ0YyOg0KPiA+ID4gPiA+ID4gPiArCQlpb3dyaXRlMzJiZSgwLCAmY2NmLT5lcnJf
cmVncy0+ZXJyaW50ZW4pOw0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IERvIHlvdSB0aGluayBp
dCBpcyBzYW1lIHRvIGRpc2FibGUgZGV0ZWN0aW9uIGJpdHMgaW4NCj4gPiA+ID4gPiA+IGNjZi0+
ZXJyX3JlZ3MtDQo+ID4gPiA+ZXJyZGlzPw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gRGlzYWJsaW5n
IHRoZSBpbnRlcnJ1cHQgaXMgd2hhdCB3ZSdyZSBhaW1pbmcgZm9yIGhlcmUsIGJ1dCBjY2YxDQo+
ID4gPiA+ID4gZG9lc24ndCBwcm92aWRlIGEgd2F5IHRvIGRvIHRoYXQgc2VwYXJhdGUgZnJvbSBk
aXNhYmxpbmcgZGV0ZWN0aW9uLg0KPiA+ID4gPg0KPiA+ID4gPiBXaGF0IEkgd2FudGVkIHRvIHNh
eSB0aGF0IGRvIHdlIGFsc28gbmVlZCB0byBkaXNhYmxlIGRldGVjdGlvbg0KPiA+ID4gPiAoc2V0
IEVSUkRFVF9MQUUgfCBFUlJERVRfQ1YgYml0cyBpbiBlcnJkaXMpIGFwYXJ0IGZyb20gY2xlYXJp
bmcNCj4gPiA+ID4gZXJyaW50ZW4gb24NCj4gPiA+ID4gY2NmMiA/DQo+ID4gPg0KPiA+ID4gSSBk
b24ndCB0aGluayB3ZSAibmVlZCIgdG8uICBZb3UgY291bGQgYXJndWUgdGhhdCB3ZSBzaG91bGQg
Zm9yDQo+ID4gPiBjb25zaXN0ZW5jeSwgdGhvdWdoIEkgdGhpbmsgdGhlcmUncyB2YWx1ZSBpbiBl
cnJvcnMgY29udGludWluZyB0byBiZQ0KPiA+ID4gZGV0ZWN0ZWQgZXZlbiB3aXRob3V0IHRoZSBk
cml2ZXIgKGUuZy4gY2FuIGR1bXAgdGhlIHJlZ2lzdGVycyBpbiBhDQo+IGRlYnVnZ2VyKS4NCj4g
Pg0KPiA+IFllcyB0aGlzIGNvbW1lbnQgd2FzIGZvciBjb25zaXN0ZW5jeS4gQWxzbyBJSVVDLCB0
aGUgc3RhdGUgd2hpY2ggaXMgbGVmdCB3aGVuDQo+IHRoZSBkcml2ZXIgaXMgcmVtb3ZlZCBpcyBu
b3QgZGVmYXVsdCByZXNldCBiZWhhdmlvci4NCj4gDQo+IEhvdyBtYW55IGRyaXZlcnMgbGVhdmUg
dGhlIGhhcmR3YXJlIGluIHByaXN0aW5lIHJlc2V0IHN0YXRlIHdoZW4gZXhpdGluZz8NCg0KSSBk
byBub3Qga25vdyA6KQ0KDQo+ICBBbmQNCj4geW91IGNvdWxkIGFyZ3VlIHRoYXQgaGF2aW5nIGRl
dGVjdGlvbiBvZmYgYnkgZGVmYXVsdCBpcyBwb29yIGhhcmR3YXJlIGRlc2lnbg0KPiAoZW5hYmxp
bmcgaW50ZXJydXB0cyBpcyBhbm90aGVyIG1hdHRlciBvZiBjb3Vyc2UpLg0KDQpPaywgdGhlbiBj
YW4geW91IHBsZWFzZSBhZGQgYSBjb21tZW50IGluIF9yZW1vdmUoKSBmdW5jdGlvbiBkZXNjcmli
aW5nIHdoeSBkZXRlY3Rpb24gaXMgc3RpbGwgZW5hYmxlZC4NCg0KVGhhbmtzDQotQmhhcmF0DQoN
Cj4gDQo+ID4gSWYgd2Ugd2FudCBlcnJvcnMgdG8gYmUgZGV0ZWN0ZWQgdGhlbiBzaG91bGQgbm90
IHdlIGhhdmUgYSBzeXNmcyBpbnRlcmZhY2U/DQo+IA0KPiBUaGF0IG1heSBiZSB1c2VmdWwgYnV0
IGl0J3MgYmV5b25kIHRoZSBzY29wZSBvZiB3aGF0IEknbSBkb2luZyB3aXRoIHRoaXMgcGF0Y2gu
DQo+IFdlIGN1cnJlbnRseSBkb24ndCBsb2cgbWFjaGluZSBjaGVja3MgYW55d2hlcmUgYnV0IHZp
YSBwcmludGsgZWl0aGVyLg0KPiANCj4gQlRXLCBJIHRob3VnaHQgSSBoYWQgc2VudCB2MiBvZiB0
aGlzLCBidXQgSSBkb24ndCBzZWUgaXQgYW55d2hlcmUuLi4NCj4gSSdsbCByZXNwaW4gc29vbi4N
Cj4gDQo+IC1TY290dA0KPiANCg0K
^ permalink raw reply
* [PATCH V2] powerpc/powernv: Check for IRQHAPPENED before sleeping
From: Preeti U Murthy @ 2014-07-01 4:09 UTC (permalink / raw)
To: benh, mikey, mpe; +Cc: shreyas, linuxppc-dev, linux-kernel
Commit 8d6f7c5a: "powerpc/powernv: Make it possible to skip the IRQHAPPENED
check in power7_nap()" added code that prevents cpus from checking for pending
interrupts just before entering sleep state, which is wrong. A cpu cannot enter
any idle state with pending interrupts.
Possible consequences of a cpu entering an idle state without checking for pending
interrupts could be a device timeout or a more serious consequence in case of
Power8 would be if doorbell IPIs are delivered when cpus have interrupts soft
disabled. Precisely the state that the cpus are in just before entering an
idle state on PowerPC.
Interrupts delivered during soft disabled state are replayed when the interrupts
are enabled again. Hence since a cpu goes to sleep with interrupts enabled
again, it will receive any pending interrupts. However doorbell IPIs are not
replayed even when the interrupts are re-enabled since they are edge triggered.Hence
not checking for pending interrupts just before going to sleep state would mean
that we will never take the doorbell IPI if it was delivered during the soft
disabled state, unless some other interrupt wakes us up.This could result in the
cpu that sent the doorbell IPI complaining that the sleeping cpu is stuck.
This patch fixes these issues by ensuring that cpus check for pending interrupts
just before entering any idle state as long as they are not in the path of split
core operations.
Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Acked-by: Michael Neuling <mikey@neuling.org>
---
Changes from V1: Modified the changelog to add the details of the problem
that this patch fixes.
arch/powerpc/kernel/idle_power7.S | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S
index 2480256..5cf3d36 100644
--- a/arch/powerpc/kernel/idle_power7.S
+++ b/arch/powerpc/kernel/idle_power7.S
@@ -131,7 +131,7 @@ _GLOBAL(power7_nap)
_GLOBAL(power7_sleep)
li r3,1
- li r4,0
+ li r4,1
b power7_powersave_common
/* No return */
^ permalink raw reply related
* Re: [PATCH] powerpc/powernv: Check for IRQHAPPENED before sleeping
From: Michael Neuling @ 2014-07-01 3:15 UTC (permalink / raw)
To: Michael Ellerman; +Cc: linux-kernel, shreyas, Preeti U Murthy, linuxppc-dev
In-Reply-To: <1404175926.30002.1.camel@concordia>
On Tue, 2014-07-01 at 10:52 +1000, Michael Ellerman wrote:
> On Mon, 2014-06-30 at 11:54 +0530, Preeti U Murthy wrote:
> > Commit 8d6f7c5a: "powerpc/powernv: Make it possible to skip the IRQHAPP=
ENED
> > check in power7_nap()" added code that prevents even cores which enter =
sleep
> > on idle, from checking for pending interrupts. Fix this.
>=20
> To be clear, it is a bug in the original commit. Mikey and I pair program=
med
> that code, and he was *definitely* typing at that point ;)
It's always nice to know that in battle a comrade will throw himself on
a grenade to save you. :-P
Actually, I'm pretty sure this happened when you were away (probably on
a beach somewhere), I was forward porting the patch set, hit a conflict
and fucked it up. =20
Mikey
>=20
> Can you please include in the changelog what the symptom of the bug is, a=
nd
> have you seen it in practice?
>=20
> The bad commit went into 3.16-rc1, so we don't need to backport this to a=
ny
> stable release.
>=20
> cheers
>=20
> > diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/id=
le_power7.S
> > index 2480256..5cf3d36 100644
> > --- a/arch/powerpc/kernel/idle_power7.S
> > +++ b/arch/powerpc/kernel/idle_power7.S
> > @@ -131,7 +131,7 @@ _GLOBAL(power7_nap)
> > =20
> > _GLOBAL(power7_sleep)
> > li r3,1
> > - li r4,0
> > + li r4,1
> > b power7_powersave_common
> > /* No return */
> > =20
> >=20
>=20
>=20
>=20
>=20
>=20
^ permalink raw reply
* [PATCH] Remove FIXME messages in arch/powerpc/sysdev/uic.c
From: Nicholas Krause @ 2014-07-01 2:47 UTC (permalink / raw)
To: benh; +Cc: linuxppc-dev, paulus, linux-kernel
This removes FIXME messages in the function uic_init_one
as this FIXMEs are not valid due to the kernel being better
to panic due to boards without these allocated not being
able to service IRQs.
Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
---
arch/powerpc/sysdev/uic.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
index 9203393..937f6a5 100644
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
@@ -239,7 +239,7 @@ static struct uic * __init uic_init_one(struct device_node *node)
uic = kzalloc(sizeof(*uic), GFP_KERNEL);
if (! uic)
- return NULL; /* FIXME: panic? */
+ return NULL;
raw_spin_lock_init(&uic->lock);
indexp = of_get_property(node, "cell-index", &len);
@@ -261,7 +261,7 @@ static struct uic * __init uic_init_one(struct device_node *node)
uic->irqhost = irq_domain_add_linear(node, NR_UIC_INTS, &uic_host_ops,
uic);
if (! uic->irqhost)
- return NULL; /* FIXME: panic? */
+ return NULL;
/* Start with all interrupts disabled, level and non-critical */
mtdcr(uic->dcrbase + UIC_ER, 0);
--
1.9.1
^ permalink raw reply related
* [PATCH] Remove FIXME messages in arch/powerpc/sysdev/uic.c
From: Nicholas Krause @ 2014-07-01 2:31 UTC (permalink / raw)
To: benh; +Cc: linuxppc-dev, paulus, linux-kernel
This removes FIXME messages in the function uic_init_one
as this FIXMEs are not valid due to the kernel being better
to panic due to boards without these allocated not being
able to service IRQs.
Signed-off-by: Nicholas Krause <xerofoify@gmail.com>
---
arch/powerpc/sysdev/uic.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/powerpc/sysdev/uic.c b/arch/powerpc/sysdev/uic.c
index 9203393..937f6a5 100644
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
@@ -239,7 +239,7 @@ static struct uic * __init uic_init_one(struct device_node *node)
uic = kzalloc(sizeof(*uic), GFP_KERNEL);
if (! uic)
- return NULL; /* FIXME: panic? */
+ return NULL;
raw_spin_lock_init(&uic->lock);
indexp = of_get_property(node, "cell-index", &len);
@@ -261,7 +261,7 @@ static struct uic * __init uic_init_one(struct device_node *node)
uic->irqhost = irq_domain_add_linear(node, NR_UIC_INTS, &uic_host_ops,
uic);
if (! uic->irqhost)
- return NULL; /* FIXME: panic? */
+ return NULL;
/* Start with all interrupts disabled, level and non-critical */
mtdcr(uic->dcrbase + UIC_ER, 0);
--
1.9.1
^ permalink raw reply related
* Re: [PATCH] powerpc: Disable RELOCATABLE for COMPILE_TEST with PPC64
From: Guenter Roeck @ 2014-07-01 2:22 UTC (permalink / raw)
To: Stephen Rothwell; +Cc: linuxppc-dev, linux-kernel, Paul Mackerras
In-Reply-To: <20140701105510.75718b47@canb.auug.org.au>
On 06/30/2014 05:55 PM, Stephen Rothwell wrote:
> Hi Guenter,
>
> On Mon, 30 Jun 2014 11:45:30 -0700 Guenter Roeck <linux@roeck-us.net> wrote:
>>
>> powerpc:allmodconfig has been failing for some time with the following
>> error.
>>
>> arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
>> arch/powerpc/kernel/exceptions-64s.S:1312: Error: attempt to move .org backwards
>> make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1
>>
>> A number of attempts to fix the problem by moving around code have been
>> unsuccessful and resulted in failed builds for some configurations and
>> the discovery of toolchain bugs.
>>
>> Fix the problem by disabling RELOCATABLE for COMPILE_TEST builds instead.
s/Fix/Work around/
would probably be a better here.
>> While this is less than perfect, it avoids substantial code changes
>> which would otherwise be necessary just to make COMPILE_TEST builds
>> happy and might have undesired side effects.
>>
>> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
>
> I'll dump this in my "fixes" tree today and see how it goes.
>
Would be great. Note that allyescconfig still fails with relocation errors
after this patch has been applied.
Thanks,
Guenter
^ permalink raw reply
* Re: Re: [PATCH v4] [BUGFIX] kprobes: Fix "Failed to find blacklist" error on ia64 and ppc64
From: Masami Hiramatsu @ 2014-07-01 2:21 UTC (permalink / raw)
To: Michael Ellerman
Cc: Jeremy Fitzhardinge, linux-ia64, sparse,
Linux Kernel Mailing List, Paul Mackerras, H. Peter Anvin,
akataria, linux-tip-commits, anil.s.keshavamurthy, Ingo Molnar,
Suzuki K. Poulose, Fenghua Yu, Arnd Bergmann, Rusty Russell,
Chris Wright, yrl.pp-manager.tt, Thomas Gleixner, Tony Luck,
Kevin Hao, Linus Torvalds, rdunlap, Tony Luck, dl9pf,
Andrew Morton, linuxppc-dev, David S. Miller
In-Reply-To: <1404128176.7888.1.camel@concordia>
(2014/06/30 20:36), Michael Ellerman wrote:
> On Mon, 2014-06-30 at 12:14 +0900, Masami Hiramatsu wrote:
>> Ping? :)
>
> Yeah sorry. I started looking at this and got dragged into another mess.
>
> You seem to have duplicated the functionality of arch_deref_entry_point(),
> which was also added for kprobes, and for the same reason - ie. because some
> arches have strange function pointers. Is there some reason you can't use it?
Ah, right! Hmm, it seems some more work to update it. but basically, we can do.
BTW, is there any other users who need to access the actual function entry (for
kallsyms case)?
If so, I guess it'd better to merge this version and replace kprobe's local
arch_deref_entry_point() with generic function_entry() macro.
Thank you,
--
Masami HIRAMATSU
Software Platform Research Dept. Linux Technology Research Center
Hitachi, Ltd., Yokohama Research Laboratory
E-mail: masami.hiramatsu.pt@hitachi.com
^ permalink raw reply
* [PATCH] powerpc/ucc_geth: deal with a compile warning
From: Zhao Qiang @ 2014-07-01 1:21 UTC (permalink / raw)
To: linuxppc-dev, leoli, netdev, B07421; +Cc: Zhao Qiang
deal with a compile warning: comparison between
'enum qe_fltr_largest_external_tbl_lookup_key_size'
and 'enum qe_fltr_tbl_lookup_key_size'
the code:
"if (ug_info->largestexternallookupkeysize ==
QE_FLTR_TABLE_LOOKUP_KEY_SIZE_8_BYTES)"
is warned because different enum, so modify it.
"enum qe_fltr_largest_external_tbl_lookup_key_size
largestexternallookupkeysize;
enum qe_fltr_tbl_lookup_key_size {
QE_FLTR_TABLE_LOOKUP_KEY_SIZE_8_BYTES
= 0x3f, /* LookupKey parsed by the Generate LookupKey
CMD is truncated to 8 bytes */
QE_FLTR_TABLE_LOOKUP_KEY_SIZE_16_BYTES
= 0x5f, /* LookupKey parsed by the Generate LookupKey
CMD is truncated to 16 bytes */
};
/* QE FLTR extended filtering Largest External Table Lookup Key Size */
enum qe_fltr_largest_external_tbl_lookup_key_size {
QE_FLTR_LARGEST_EXTERNAL_TABLE_LOOKUP_KEY_SIZE_NONE
= 0x0,/* not used */
QE_FLTR_LARGEST_EXTERNAL_TABLE_LOOKUP_KEY_SIZE_8_BYTES
= QE_FLTR_TABLE_LOOKUP_KEY_SIZE_8_BYTES, /* 8 bytes */
QE_FLTR_LARGEST_EXTERNAL_TABLE_LOOKUP_KEY_SIZE_16_BYTES
= QE_FLTR_TABLE_LOOKUP_KEY_SIZE_16_BYTES, /* 16 bytes */
};"
Signed-off-by: Zhao Qiang <B45475@freescale.com>
---
drivers/net/ethernet/freescale/ucc_geth.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c
index c8299c3..0bf5ba1 100644
--- a/drivers/net/ethernet/freescale/ucc_geth.c
+++ b/drivers/net/ethernet/freescale/ucc_geth.c
@@ -2993,11 +2993,11 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth)
if (ug_info->rxExtendedFiltering) {
size += THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING;
if (ug_info->largestexternallookupkeysize ==
- QE_FLTR_TABLE_LOOKUP_KEY_SIZE_8_BYTES)
+ QE_FLTR_LARGEST_EXTERNAL_TABLE_LOOKUP_KEY_SIZE_8_BYTES)
size +=
THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING_8;
if (ug_info->largestexternallookupkeysize ==
- QE_FLTR_TABLE_LOOKUP_KEY_SIZE_16_BYTES)
+ QE_FLTR_LARGEST_EXTERNAL_TABLE_LOOKUP_KEY_SIZE_16_BYTES)
size +=
THREAD_RX_PRAM_ADDITIONAL_FOR_EXTENDED_FILTERING_16;
}
--
1.8.5
^ permalink raw reply related
* Re: [PATCH] powerpc: Disable RELOCATABLE for COMPILE_TEST with PPC64
From: Stephen Rothwell @ 2014-07-01 0:55 UTC (permalink / raw)
To: Guenter Roeck; +Cc: linuxppc-dev, linux-kernel, Paul Mackerras
In-Reply-To: <1404153930-26568-1-git-send-email-linux@roeck-us.net>
[-- Attachment #1: Type: text/plain, Size: 1051 bytes --]
Hi Guenter,
On Mon, 30 Jun 2014 11:45:30 -0700 Guenter Roeck <linux@roeck-us.net> wrote:
>
> powerpc:allmodconfig has been failing for some time with the following
> error.
>
> arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
> arch/powerpc/kernel/exceptions-64s.S:1312: Error: attempt to move .org backwards
> make[1]: *** [arch/powerpc/kernel/head_64.o] Error 1
>
> A number of attempts to fix the problem by moving around code have been
> unsuccessful and resulted in failed builds for some configurations and
> the discovery of toolchain bugs.
>
> Fix the problem by disabling RELOCATABLE for COMPILE_TEST builds instead.
> While this is less than perfect, it avoids substantial code changes
> which would otherwise be necessary just to make COMPILE_TEST builds
> happy and might have undesired side effects.
>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
I'll dump this in my "fixes" tree today and see how it goes.
Thanks.
--
Cheers,
Stephen Rothwell sfr@canb.auug.org.au
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
^ permalink raw reply
* Re: [PATCH] powerpc/powernv: Check for IRQHAPPENED before sleeping
From: Michael Ellerman @ 2014-07-01 0:52 UTC (permalink / raw)
To: Preeti U Murthy; +Cc: mikey, linux-kernel, shreyas, linuxppc-dev
In-Reply-To: <20140630062404.29315.23382.stgit@preeti.in.ibm.com>
On Mon, 2014-06-30 at 11:54 +0530, Preeti U Murthy wrote:
> Commit 8d6f7c5a: "powerpc/powernv: Make it possible to skip the IRQHAPPENED
> check in power7_nap()" added code that prevents even cores which enter sleep
> on idle, from checking for pending interrupts. Fix this.
To be clear, it is a bug in the original commit. Mikey and I pair programmed
that code, and he was *definitely* typing at that point ;)
Can you please include in the changelog what the symptom of the bug is, and
have you seen it in practice?
The bad commit went into 3.16-rc1, so we don't need to backport this to any
stable release.
cheers
> diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S
> index 2480256..5cf3d36 100644
> --- a/arch/powerpc/kernel/idle_power7.S
> +++ b/arch/powerpc/kernel/idle_power7.S
> @@ -131,7 +131,7 @@ _GLOBAL(power7_nap)
>
> _GLOBAL(power7_sleep)
> li r3,1
> - li r4,0
> + li r4,1
> b power7_powersave_common
> /* No return */
>
>
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox