From patchwork Wed Feb 17 07:42:37 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ryan X-Patchwork-Id: 45582 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from bilbo.ozlabs.org (localhost [127.0.0.1]) by ozlabs.org (Postfix) with ESMTP id 477B2B7F68 for ; Wed, 17 Feb 2010 19:18:40 +1100 (EST) X-Greylist: delayed 1177 seconds by postgrey-1.32 at bilbo; Wed, 17 Feb 2010 19:02:22 EST Received: from easyspace2.ezspl.net (easyspace2.ezspl.net [66.45.254.2]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 689FBB7C09 for ; Wed, 17 Feb 2010 19:02:22 +1100 (EST) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=nucleodyne.com; h=MIME-Version:Date:Message-ID:Subject:From:To:Content-Type:X-Source:X-Source-Args:X-Source-Dir; b=l4PlMtgxhizk98+J21lsdmZs1t1IdebCZf23maVvUWpd9Lhxxzyl8e6JknH471aZdfYh7asZhUvO1y/2oixHFG02U8RAdebLe7Ee0AROoCZs2GUdQ75RzyMrfSFGRuSb; Received: from mail-yw0-f201.google.com ([209.85.211.201]) by easyspace2.ezspl.net with esmtpsa (TLSv1:RC4-MD5:128) (Exim 4.69) (envelope-from ) id 1NheYT-0005rO-EB for linuxppc-dev@lists.ozlabs.org; Wed, 17 Feb 2010 02:42:41 -0500 Received: by ywh39 with SMTP id 39so6009054ywh.17 for ; Tue, 16 Feb 2010 23:42:37 -0800 (PST) MIME-Version: 1.0 Received: by 10.101.167.9 with SMTP id u9mr6097945ano.113.1266392557618; Tue, 16 Feb 2010 23:42:37 -0800 (PST) Date: Tue, 16 Feb 2010 23:42:37 -0800 Message-ID: <5bbdacc81002162342y4f63f22at53bb88505b049bd6@mail.gmail.com> Subject: patch-2.6.21-rt8 works for ppc arch? From: Ryan To: ppcdev X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - easyspace2.ezspl.net X-AntiAbuse: Original Domain - lists.ozlabs.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - nucleodyne.com X-Source: X-Source-Args: X-Source-Dir: X-Mailman-Approved-At: Wed, 17 Feb 2010 19:18:34 +1100 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Hi, I'm trying to build a 2.6.21 kernel (ppc arch for a 74xx processor) with the PREEMPT_RT patch "patch-2.6.21-rt8". But I'm having some compilation errors in the very early stage. The errors are shown below. arch/ppc/kernel/asm-offsets.c: In function 'main': arch/ppc/kernel/asm-offsets.c:148: error: 'struct vdso_data' has no member named 'tb_orig_stamp' arch/ppc/kernel/asm-offsets.c:149: error: 'struct vdso_data' has no member named 'tb_ticks_per_sec' arch/ppc/kernel/asm-offsets.c:150: error: 'struct vdso_data' has no member named 'tb_to_xs' arch/ppc/kernel/asm-offsets.c:151: error: 'struct vdso_data' has no member named 'stamp_xsec' arch/ppc/kernel/asm-offsets.c:152: error: 'struct vdso_data' has no member named 'tb_update_count' arch/ppc/kernel/asm-offsets.c:153: error: 'struct vdso_data' has no member named 'tz_minuteswest' arch/ppc/kernel/asm-offsets.c:154: error: 'struct vdso_data' has no member named 'tz_dsttime' arch/ppc/kernel/asm-offsets.c:156: error: 'struct vdso_data' has no member named 'wtom_clock_sec' arch/ppc/kernel/asm-offsets.c:157: error: 'struct vdso_data' has no member named 'wtom_clock_nsec' make[1]: *** [arch/ppc/kernel/asm-offsets.s] Error 1 I did dig a little deep to find why this error occurred. It turned out these members are explicitly removed by patch-2.6.21-rt8. See below exerted from this patch file. It makes me wondering if the PREEMPT_RT patch ever worked for ppc arch. The kernel build also had some compilation warnings as follows. CC arch/ppc/kernel/asm-offsets.s In file included from arch/ppc/include/asm/hw_irq.h:110, from include/asm/system.h:10, from include/linux/list.h:9, from include/linux/signal.h:8, from arch/ppc/kernel/asm-offsets.c:11: include/linux/irqflags.h:92:1: warning: "raw_local_irq_save" redefined In file included from include/asm/system.h:10, from include/linux/list.h:9, from include/linux/signal.h:8, from arch/ppc/kernel/asm-offsets.c:11: arch/ppc/include/asm/hw_irq.h:103:1: warning: this is the location of the previous definition In file included from arch/ppc/include/asm/hw_irq.h:110, from include/asm/system.h:10, from include/linux/list.h:9, from include/linux/signal.h:8, from arch/ppc/kernel/asm-offsets.c:11: include/linux/irqflags.h:97:1: warning: "raw_local_irq_restore" redefined In file included from include/asm/system.h:10, from include/linux/list.h:9, from include/linux/signal.h:8, from arch/ppc/kernel/asm-offsets.c:11: arch/ppc/include/asm/hw_irq.h:62:1: warning: this is the location of the previous definition In file included from include/linux/time.h:7, from include/linux/timex.h:57, from include/linux/sched.h:51, from arch/ppc/kernel/asm-offsets.c:12: include/linux/seqlock.h: In function '__read_seqretry': include/linux/seqlock.h:139: warning: implicit declaration of function 'local_irq_save' include/linux/seqlock.h:140: warning: implicit declaration of function 'local_irq_restore' All the failure makes me doubt the correctness of the PREEMPT_RT patch in 2.6.21 for ppc arch. Has anyone made a RT patch work for ppc arch in 2.6.21? In other words, is 2.6.21 a good candidate to test a PREEMPT_RT patch for ppc arch? I understand that ppc arch will eventually replaced by powerpc arch. Is there active work going on in ppc arch to support the PREEMPT_RT? Thanks a lot in advance for your help. -Ryan. Index: linux/include/asm-powerpc/vdso_datapage.h =================================================================== --- linux.orig/include/asm-powerpc/vdso_datapage.h +++ linux/include/asm-powerpc/vdso_datapage.h @@ -74,11 +74,6 @@ struct vdso_data { __u32 icache_size; /* L1 i-cache size 0x68 */ __u32 icache_line_size; /* L1 i-cache line size 0x6C */ - /* those additional ones don't have to be located anywhere - * special as they were not part of the original systemcfg - */ - __s32 wtom_clock_sec; /* Wall to monotonic clock */ - __s32 wtom_clock_nsec; __u32 syscall_map_64[SYSCALL_MAP_SIZE]; /* map of syscalls */ __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */ }; @@ -89,15 +84,6 @@ struct vdso_data { * And here is the simpler 32 bits version */ struct vdso_data { - __u64 tb_orig_stamp; /* Timebase at boot 0x30 */ - __u64 tb_ticks_per_sec; /* Timebase tics / sec 0x38 */ - __u64 tb_to_xs; /* Inverse of TB to 2^20 0x40 */ - __u64 stamp_xsec; /* 0x48 */ - __u32 tb_update_count; /* Timebase atomicity ctr 0x50 */ - __u32 tz_minuteswest; /* Minutes west of Greenwich 0x58 */ - __u32 tz_dsttime; /* Type of dst correction 0x5C */ - __s32 wtom_clock_sec; /* Wall to monotonic clock */ - __s32 wtom_clock_nsec; __u32 syscall_map_32[SYSCALL_MAP_SIZE]; /* map of syscalls */ };