From: Sudeep Holla <Sudeep.Holla@arm.com>
To: Heiko Carstens <heiko.carstens@de.ibm.com>
Cc: Sudeep.Holla@arm.com,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Martin Schwidefsky <schwidefsky@de.ibm.com>,
"linux390@de.ibm.com" <linux390@de.ibm.com>,
"linux-s390@vger.kernel.org" <linux-s390@vger.kernel.org>
Subject: Re: [PATCH RFC/RFT v3 4/9] s390: move cacheinfo sysfs to generic cacheinfo infrastructure
Date: Thu, 20 Feb 2014 13:33:56 +0000 [thread overview]
Message-ID: <53060444.9010308@arm.com> (raw)
In-Reply-To: <20140220083816.GA4203@osiris>
Hi Heiko,
Thanks for testing this series, much appreciated.
On 20/02/14 08:38, Heiko Carstens wrote:
> On Wed, Feb 19, 2014 at 04:06:11PM +0000, Sudeep Holla wrote:
>> From: Sudeep Holla <sudeep.holla@arm.com>
>>
>> This patch removes the redundant sysfs cacheinfo code by making use of
>> the newly introduced generic cacheinfo infrastructure.
>>
>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
>> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
>> Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
>> Cc: linux390@de.ibm.com
>> Cc: linux-s390@vger.kernel.org
>> ---
>> arch/s390/kernel/cache.c | 388 ++++++++++++-----------------------------------
>> 1 file changed, 93 insertions(+), 295 deletions(-)
>
> (FWIW, if you send an update of your series, please cc me on all patches, so I
> don't have to search LKML for the rest of the patch set)
>
Sorry, will make sure you will be cc-ed in the future updates.
> I gave your patches series a test and I get this nice message on boot:
>
> io scheduler cfq registered
> DEBUG_LOCKS_WARN_ON(irqs_disabled_flags(flags))
> ------------[ cut here ]------------
> WARNING: at kernel/locking/lockdep.c:2742
> Modules linked in:
> CPU: 0 PID: 0 Comm: swapper/0 Not tainted 3.14.0-rc3-00177-g468cee08c2ea #7
> task: 0000000000adcc60 ti: 0000000000ac4000 task.ti: 0000000000ac4000
> Krnl PSW : 0404c00180000000 000000000019af3e (lockdep_trace_alloc+0x116/0x120)
> R:0 T:1 IO:0 EX:0 Key:0 M:1 W:0 P:0 AS:3 CC:0 PM:0 EA:3
> Krnl GPRS: 0000000000000020 0000000000adcc60 000000000000002f 0000000000000000
> 000000000019af3a 0000000000000000 0000000000000001 0000000000000000
> 000000003ff26140 000000000055fb92 00000000000001b0 00000000000080d0
> 0400000000000000 00000000000080d0 000000000019af3a 000000000001bc30
> Krnl Code: 000000000019af2e: c020003b1e34 larl %r2,8feb96
> 000000000019af34: c0e5002e0304 brasl %r14,75b53c
> #000000000019af3a: a7f40001 brc 15,19af3c
> >000000000019af3e: e32003100004 lg %r2,784
> 000000000019af44: a7f4ff9f brc 15,19ae82
> 000000000019af48: e31003100004 lg %r1,784
> 000000000019af4e: e32013f00150 sty %r2,5104(%r1)
> 000000000019af54: 07fe bcr 15,%r14
> Call Trace:
> ([<000000000019af3a>] lockdep_trace_alloc+0x112/0x120)
> [<000000000027a7d2>] __kmalloc+0x5a/0x204
> [<000000000055fb92>] detect_cache_attributes+0x66/0xd4
> [<000000000055fc2e>] _detect_cache_attributes+0x2e/0x3c
> [<00000000001ce7a2>] generic_smp_call_function_single_interrupt+0x9a/0xe8
> [<000000000010b462>] do_ext_interrupt+0x12a/0x24c
> [<00000000001afab0>] handle_irq_event_percpu+0x70/0x240
> [<00000000001b3218>] handle_percpu_irq+0x6c/0x98
> [<00000000001af16e>] generic_handle_irq+0x46/0x68
> [<000000000010b6c2>] do_IRQ+0x5e/0x84
> [<0000000000768b06>] ext_skip+0x44/0x4a
> [<000000000076827c>] vtime_stop_cpu+0x50/0xa4
> ([<0000000000768262>] vtime_stop_cpu+0x36/0xa4)
> [<0000000000103848>] arch_cpu_idle+0x6c/0xbc
> [<00000000001af032>] cpu_startup_entry+0x146/0x218
> [<0000000000b64932>] start_kernel+0x3fa/0x408
> [<0000000000100020>] _stext+0x20/0x80
> INFO: lockdep is turned off.
> Last Breaking-Event-Address:
> [<000000000019af3a>] lockdep_trace_alloc+0x112/0x120
> ---[ end trace 9c0011ccc7b324d6 ]---
> brd: module loaded
>
Ah, my bad, I had this fixed initially when I implemented only on ARM and
introduced back while reorganising it to support multiple architectures, it's
now fixed.
> In addition /proc/cpuinfo is now incorrect.
> With your patches it looks like this:
>
> [root@p2345007 ~]# cat /proc/cpuinfo
> vendor_id : IBM/S390
> # processors : 4
> bogomips per cpu: 18115.00
> features : esan3 zarch stfle msa ldisp eimm dfp etf3eh highgprs
> cache0 : level=1 type=Data scope=Shared size=96K line_size=256 associativity=6
> cache1 : level=1 type=Data scope=Shared size=96K line_size=256 associativity=6
> cache2 : level=1 type=Data scope=Shared size=96K line_size=256 associativity=6
> cache3 : level=1 type=Data scope=Shared size=96K line_size=256 associativity=6
> cache4 : level=1 type=Data scope=Shared size=96K line_size=256 associativity=6
> cache5 : level=1 type=Data scope=Shared size=96K line_size=256 associativity=6
> processor 0: version = FF, identification = 2F6D15, machine = 2827
> processor 1: version = FF, identification = 2F6D15, machine = 2827
> processor 2: version = FF, identification = 2F6D15, machine = 2827
> processor 3: version = FF, identification = 2F6D15, machine = 2827
>
> However it is supposed to look like this:
>
> [root@p2345007 ~]# cat /proc/cpuinfo
> vendor_id : IBM/S390
> # processors : 4
> bogomips per cpu: 18115.00
> features : esan3 zarch stfle msa ldisp eimm dfp etf3eh highgprs
> cache0 : level=1 type=Data scope=Private size=96K line_size=256 associativity=6
> cache1 : level=1 type=Instruction scope=Private size=64K line_size=256 associativity=4
> cache2 : level=2 type=Data scope=Private size=1024K line_size=256 associativity=8
> cache3 : level=2 type=Instruction scope=Private size=1024K line_size=256 associativity=8
> cache4 : level=3 type=Unified scope=Shared size=49152K line_size=256 associativity=12
> cache5 : level=4 type=Unified scope=Shared size=393216K line_size=256 associativity=24
> processor 0: version = FF, identification = 2F6D15, machine = 2827
> processor 1: version = FF, identification = 2F6D15, machine = 2827
> processor 2: version = FF, identification = 2F6D15, machine = 2827
> processor 3: version = FF, identification = 2F6D15, machine = 2827
>
> The sysfs files and it contents seem to be ok.
>
Thanks, this info was helpful and looks like it's stupid mistake I did. I
deleted a line unknowingly while trying to minimise the diff for show_cacheinfo.
The below fix-up must work IIUC the issue. I will squash this in my next update
if it works.
Regards,
Sudeep
--->8
>From 77690bc34b2b4b492377998019371f6e2f8f90b7 Mon Sep 17 00:00:00 2001
From: Sudeep Holla <sudeep.holla@arm.com>
Date: Thu, 20 Feb 2014 13:14:09 +0000
Subject: [PATCH] fixup! s390: move cacheinfo sysfs to generic cacheinfo
infrastructure
---
arch/s390/kernel/cache.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/arch/s390/kernel/cache.c b/arch/s390/kernel/cache.c
index e064f95..aeedb7f 100644
--- a/arch/s390/kernel/cache.c
+++ b/arch/s390/kernel/cache.c
@@ -68,14 +68,15 @@ void show_cacheinfo(struct seq_file *m)
{
int cpu = smp_processor_id(), idx;
struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu);
- struct cache_info *cache = this_cpu_ci->info_list;
+ struct cache_info *cache;
for (idx = 0; idx < this_cpu_ci->num_leaves; idx++) {
+ cache = this_cpu_ci->info_list + idx;
seq_printf(m, "cache%-11d: ", idx);
seq_printf(m, "level=%d ", cache->level);
seq_printf(m, "type=%s ", cache_type_string[cache->type]);
seq_printf(m, "scope=%s ",
- cache->disable_sysfs ? "Private" : "Shared");
+ cache->disable_sysfs ? "Shared" : "Private");
seq_printf(m, "size=%dK ", cache->size >> 10);
seq_printf(m, "line_size=%u ", cache->coherency_line_size);
seq_printf(m, "associativity=%d", cache->ways_of_associativity);
next prev parent reply other threads:[~2014-02-20 13:33 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-19 16:06 [PATCH RFC/RFT v3 0/9] drivers: cacheinfo support Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 1/9] drivers: base: add new class "cpu" to group cpu devices Sudeep Holla
2014-03-01 0:42 ` Greg Kroah-Hartman
2014-03-03 7:28 ` Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 2/9] drivers: base: support cpu cache information interface to userspace via sysfs Sudeep Holla
2014-03-01 0:42 ` Greg Kroah-Hartman
2014-03-03 7:39 ` Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 3/9] ia64: move cacheinfo sysfs to generic cacheinfo infrastructure Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 4/9] s390: " Sudeep Holla
2014-02-20 8:38 ` Heiko Carstens
2014-02-20 13:33 ` Sudeep Holla [this message]
2014-02-20 14:07 ` Heiko Carstens
2014-02-20 14:37 ` Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 5/9] x86: " Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 6/9] powerpc: " Sudeep Holla
2014-03-07 4:06 ` Anshuman Khandual
2014-03-07 6:14 ` Anshuman Khandual
2014-03-10 11:12 ` Sudeep Holla
2014-03-21 3:44 ` Anshuman Khandual
2014-03-21 12:04 ` Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 7/9] ARM64: kernel: add support for cpu cache information Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 8/9] ARM: " Sudeep Holla
2014-02-19 16:06 ` [PATCH RFC/RFT v3 9/9] ARM: kernel: add outer cache support for cacheinfo implementation Sudeep Holla
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53060444.9010308@arm.com \
--to=sudeep.holla@arm.com \
--cc=heiko.carstens@de.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux390@de.ibm.com \
--cc=schwidefsky@de.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox