From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932274AbbFEHhh (ORCPT ); Fri, 5 Jun 2015 03:37:37 -0400 Received: from mail-wg0-f51.google.com ([74.125.82.51]:34669 "EHLO mail-wg0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753949AbbFEHh3 (ORCPT ); Fri, 5 Jun 2015 03:37:29 -0400 Date: Fri, 5 Jun 2015 09:37:23 +0200 From: Ingo Molnar To: "H. Peter Anvin" Cc: Andy Lutomirski , "linux-kernel@vger.kernel.org" , Denys Vlasenko , Brian Gerst , Peter Zijlstra , Borislav Petkov , Linus Torvalds , Oleg Nesterov , Thomas Gleixner Subject: Re: [RFC PATCH 0/7] x86/entry: Create a home for the x86 entry code in arch/x86/entry/ Message-ID: <20150605073723.GA21312@gmail.com> References: <1433350757-14247-1-git-send-email-mingo@kernel.org> <20150603171332.GD14389@gmail.com> <556F411A.1050409@zytor.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <556F411A.1050409@zytor.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * H. Peter Anvin wrote: > I really dislike deep hierarchies, as I said, because my experience has been > that they are more confusing than they are helpful, especially over time. The > arch-example of badness is of course arch/x86/kernel, which is a total > catch-all, but Well, directory hierarchy can certainly be overdone, but in general the Linux kernel has the exact opposite problem: too shallow directory organization due to two decades of organic growth. We've been actively working over the last two years to improve the source code hierarchy gradually: kernel/rcu/, kernel/locking/, kernel/events/, kernel/sched/ and kernel/time/ are all examples of that process. It worked out pretty well IMHO. This series actively depopulates various catch-all places such as arch/x86/kernel/ and arch/x86/lib/ and moves related code closer to each other. The purpose of arch/x86/entry/ is: - implementation of the high level runtime interfaces to enter/exit (call) the Linux kernel, both for hardware and for software defined ABIs. Each of the files moved directly relate to these interfaces. It's not limited to kernel mode entries alone. We could rename it to arch/x86/abi/, although that would be somewhat confusing I suspect because it's too generic a name? Anyway, I pushed this out as it's a step forward and to not hold up ongoing asm work - we'll see how it works out in practice! Thanks, Ingo