Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753361Ab1EEUJJ (ORCPT ); Thu, 5 May 2011 16:09:09 -0400 Received: from smtp106.prem.mail.ac4.yahoo.com ([76.13.13.45]:38502 "HELO smtp106.prem.mail.ac4.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1752563Ab1EEUJI (ORCPT ); Thu, 5 May 2011 16:09:08 -0400 X-Yahoo-SMTP: _Dag8S.swBC1p4FJKLCXbs8NQzyse1SYSgnAbY0- X-YMail-OSG: eq0T9XIVM1nAdQcR5tmxVHPkVc8goMDV0ItjYwjymO6jN.j fwX9LtNpzlhI9F6Yz1DD4m63gYwdKgsv3ULi1.O06s.uEJfXNvbDFZ.Gth09 vjAqOMmPwN4QmubhirblEv6GLkrWXSd9R2iTzUIrqqcoz9OfDAW7FoUC_aWs DvEqi3tL7O2BMyD9bXVTE0dKuU6h7sVmI0k.SGSuDZkfKqUuW2l5fx13BWJH kMkBxRxZKCZWf4yhnV63bX08PGtYnX55ErOMM4RTv1VE.GVnFIa_J5p0vvZt QYrvAEJOeby2ZViiVyihuq0W9GMyF8tK66Bl9UMPmiVxlm3gFEolHsBq_mDU 18xp2Gx0J4Ek.MoMCsBC.q3Oj X-Yahoo-Newman-Property: ymail-3 Date: Thu, 5 May 2011 15:09:04 -0500 (CDT) From: Christoph Lameter X-X-Sender: cl@router.home To: werner cc: Tejun Heo , Thomas Gleixner , Linus Torvalds , Pekka Enberg , Ingo Molnar , Jens Axboe , Andrew Morton , "H. Peter Anvin" , Linux Kernel Mailing List Subject: Re: [block IO crash] Re: 2.6.39-rc5-git2 boot crashs In-Reply-To: Message-ID: References: <20110505095421.GD30950@htj.dyndns.org> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1339 Lines: 24 On Thu, 5 May 2011, werner wrote: > As the 1st step, for can be compiled generic kernels at all, the kernel > should have (and has) the ability, to discover at run-time , what hardware the > individual user has, and to use only the corresponding kernel subroutines. > F.ex. if subroutines for ELAN or MOORESTON were compiled also, then the kernel > ignore them simply, if on run-time it discovers that the user has a 486 > computer. Yes indeed the kernel can detect that. And the code has fallback for the case that the processor flags indicate that cmpxchg16b is not supported. However, in this case the kernel configuration at build time was set in such a way (!CMPXCHG64 support but CMPXCHG_LOCAL) that generic fallback functions were used at compile time instead of the x86 assembly that can do the fallback with run time detection. Thus the code to do the fallback was not compiled in. Frankly, I was not aware that such a case existed where one could disable cmpxchg64 in this way and was expecting that the runtime detection would always be compiled in for the CMPXCHG_LOCAL case. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/