linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: Tim Chen <tim.c.chen@linux.intel.com>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>,
	herbert@gondor.hengli.com.au, linux-kernel@vger.kernel.org,
	linux-crypto@vger.kernel.org, ak <ak@linux.intel.com>
Subject: Re: [PATCH 3.11-rc1] crypto: Fix boot failure due to module dependency.
Date: Fri, 19 Jul 2013 15:03:36 +0200	[thread overview]
Message-ID: <3364013.pHWIsx89Eq@vostro.rjw.lan> (raw)
In-Reply-To: <1374188894.22432.354.camel@schen9-DESK>

On Thursday, July 18, 2013 04:08:14 PM Tim Chen wrote:
> On Fri, 2013-07-19 at 00:17 +0200, Rafael J. Wysocki wrote:
> > On 7/18/2013 11:00 PM, Tim Chen wrote:
> > > On Thu, 2013-07-18 at 12:47 +0900, Tetsuo Handa wrote:
> > >> Tim Chen wrote:
> > >>>>> Your approach is quite complicated.  I think something simpler like the
> > >>>>> following will work:
> > >>>> We cannot benefit from PCLMULQDQ. Is it acceptable for you?
> > >>>
> > >>> The following code in crct10dif-pclmul_glue.c
> > >>>
> > >>> static const struct x86_cpu_id crct10dif_cpu_id[] = {
> > >>>          X86_FEATURE_MATCH(X86_FEATURE_PCLMULQDQ),
> > >>>          {}
> > >>> };
> > >>> MODULE_DEVICE_TABLE(x86cpu, crct10dif_cpu_id);
> > >>>
> > >>> will put the module in the device table and get the module
> > >>> loaded, as long as the cpu support PCLMULQDQ. So we should be able
> > >>> to benefit.
> > >> Excuse me, how can crct10dif-pclmul.ko get loaded automatically?
> > >> Did you test CONFIG_CRYPTO_CRCT10DIF_PCLMUL=m with below debug message?
> > > The code:
> > >
> > > static const struct x86_cpu_id crct10dif_cpu_id[] = {
> > >           X86_FEATURE_MATCH(X86_FEATURE_PCLMULQDQ),
> > >           {}
> > > };
> > > MODULE_DEVICE_TABLE(x86cpu, crct10dif_cpu_id);
> > >
> > > causes the following line to be added to modules.alias file:
> > >
> > > alias x86cpu:vendor:*:family:*:model:*:feature:*0081* crct10dif_pclmul
> > >
> > > This should cause udev to load the crct10dif_pclml module when cpu
> > > support the PCLMULQDQ (feature code 0081).  I did my testing during
> > > development on 3.10 and the module was indeed loaded.
> > >
> > > However, I found that the following commit under 3.11-rc1 broke
> > > the mechanism after some bisection.
> > >
> > > commit ac212b6980d8d5eda705864fc5a8ecddc6d6eacc
> > > Author: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
> > > Date:   Fri May 3 00:26:22 2013 +0200
> > >
> > >      ACPI / processor: Use common hotplug infrastructure
> > >      
> > >      Split the ACPI processor driver into two parts, one that is
> > >      non-modular, resides in the ACPI core and handles the enumeration
> > >      and hotplug of processors and one that implements the rest of the
> > >      existing processor driver functionality.
> > >      
> > > Rafael, can you check and see if this can be fixed so those optimized
> > > crypto modules for Intel cpu that support them can be loaded?
> > 
> > I think this is an ordering issue between udev startup and the time when 
> > devices are registered.
> 
> Something that can be fixed?

I'm sure it can be fixes, but I'm not sure whether it's a udev bug or real
breakage in the kernel yet.  I need to figure out that part.

> > I wonder what happens if you put those modules into the initramfs image?
> 
> Under initramfs image's /lib/modules/3.11.0-rc1/kernel/arch/x86/crypto
> directory?  Any files in /lib/modules/3.11.0-rc1/modules.* need to be
> modified?

No, you shouldn't need to modify any files, just please try to make your
mkinitrd (or whatever else you use) put the modules you'd like to be
autoloaded into the image.

That's only something I'd like to know at this point, though, not a
"workaround" or something like that.

Thanks,
Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

  reply	other threads:[~2013-07-19 12:53 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-16 11:53 [PATCH 3.11-rc1] crypto: Fix boot failure due to module dependency Tetsuo Handa
2013-07-16 11:55 ` Herbert Xu
2013-07-16 13:49   ` [PATCH 3.11-rc1] crypto: Fix boot failure due to moduledependency Tetsuo Handa
2013-07-16 16:23     ` Tim Chen
2013-07-17 11:52       ` [PATCH 3.11-rc1] crypto: Fix boot failure due tomoduledependency Tetsuo Handa
2013-07-17 16:46         ` Tim Chen
2013-07-17 20:50           ` [PATCH 3.11-rc1] crypto: Fix boot failure duetomoduledependency Tetsuo Handa
2013-07-17 21:53             ` Tim Chen
2013-07-17 22:08             ` Tim Chen
2013-07-18  3:47               ` [PATCH 3.11-rc1] crypto: Fix boot failure due to module dependency Tetsuo Handa
2013-07-18 21:00                 ` Tim Chen
2013-07-18 22:17                   ` Rafael J. Wysocki
2013-07-18 23:08                     ` Tim Chen
2013-07-19 13:03                       ` Rafael J. Wysocki [this message]
2013-07-19 14:49                         ` Rafael J. Wysocki
2013-07-19 18:08                           ` Tim Chen
2013-07-19 21:38                             ` Rafael J. Wysocki
2013-07-19 23:16                               ` Greg Kroah-Hartman
2013-07-19 23:21                                 ` H. Peter Anvin
2013-07-19 23:24                                   ` Herbert Xu
2013-07-19 23:37                                     ` Tim Chen
2013-07-20  1:31                                       ` Tim Chen
2013-07-20  2:19                                         ` [PATCH 3.11-rc1] crypto: Fix boot failure due to moduledependency Tetsuo Handa
2013-07-20  5:30                                         ` [PATCH 3.11-rc1] crypto: Fix boot failure due to module dependency Herbert Xu
2013-07-20  5:56                                           ` [PATCH 3.11-rc1] crypto: Fix boot failure due to moduledependency Tetsuo Handa
2013-09-11 11:43                                             ` [3.12-rc1] Dependency on module-init-tools >= 3.11 ? Tetsuo Handa
2013-09-12  4:26                                               ` Herbert Xu
2013-09-12  5:03                                                 ` Tetsuo Handa
2013-09-12  5:28                                                   ` Herbert Xu
2013-09-12 10:20                                                     ` Tetsuo Handa
2013-09-12 10:29                                                       ` Herbert Xu
2013-09-12 14:26                                                         ` Waiman Long
2013-09-13 13:27                                                           ` Tetsuo Handa
2013-09-12 11:12                                                 ` Arthur Marsh
2013-07-19 23:26                                   ` [PATCH 3.11-rc1] crypto: Fix boot failure due to module dependency Greg Kroah-Hartman
2013-07-19 23:28                                     ` H. Peter Anvin
2013-07-20  0:00                                 ` Rafael J. Wysocki
2013-07-20  3:06                                   ` Rafael J. Wysocki
2013-07-20  9:51                                     ` Rafael J. Wysocki
2013-07-20 11:01                                       ` Rafael J. Wysocki
2013-07-18 23:44                     ` H. Peter Anvin
2013-07-19 12:57                       ` Rafael J. Wysocki

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=3364013.pHWIsx89Eq@vostro.rjw.lan \
    --to=rjw@rjwysocki.net \
    --cc=ak@linux.intel.com \
    --cc=herbert@gondor.hengli.com.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=penguin-kernel@i-love.sakura.ne.jp \
    --cc=rafael.j.wysocki@intel.com \
    --cc=tim.c.chen@linux.intel.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;
as well as URLs for NNTP newsgroup(s).