lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070705161700.279A.Y-GOTO@jp.fujitsu.com>
Date:	Thu, 05 Jul 2007 17:52:13 +0900
From:	Yasunori Goto <y-goto@...fujitsu.com>
To:	nigel@...pend2.net
Cc:	LKML <linux-kernel@...r.kernel.org>
Subject: Re: x86_64 memory hotplug simulation support?

> Thanks for your reply. Please, just call me Nigel :).

Haha. Okay. Nigel.
(Though, San is useful for even friendly/frank situation in Japanese :) )

> I saw a patch that Dave 
> Hansen had posted, back around the time of 2.6.11 iirc. It was for x86, and 
> (so far as I understand) allowed a person who doesn't really have 
> hotpluggable memory to make their computer pretend that it does.
>
> Just in case I'm not being clear enough, let me get more concrete. I have had 
> some code for a while that uses bitmaps to simulate page flags, without 
> needing to take up those precious bits in page->flags. I've begun to add 
> support for memory hotplugging, in the hope that I can make it general enough 
> that it will be useful for more than just suspend2. To do that, I'd like to 
> be able to test the memory hotplugging paths, without needing to actually 
> have hotpluggable memory. I do have an x86 desktop I could work on, but would 
> prefer to do it on my x86_64 laptop if I can.

Current memory hot-add code expects special hardware which allows
memory hot-unplug physically. Yes, these is no way to use it on 
normal PC without emulation. And I don't have emulation code for
x86-64. Usually, I'm using ia64 box for test it.

These are 2 ideas to use memory hotplug with normal x86-64 box.

- Make emulation code for x86-64.
  To add memory, some of memory have to be ignored at boot time.
  And add memory after boot up.
  This way may need fake BIOS information. And if memory is added once,
  reboot is necessary for next hot-add test.

- Bootup normaly. Unplug some memory at first, then hot-add them
  later.  You can try hot-plug code many times after bootup.

  Unplug code must is not merged yet. Followings are the newest one.
      http://marc.info/?l=linux-mm&m=118180415304117&w=2
  But the 6th patch of them is only for ia64.
      http://marc.info/?l=linux-mm&m=118180483715610&w=2
  So, same role patch for x86-64 is still necessary.

  In addition, some of route of hot-add code can't be tested.
  Because, current hot-add has 2 phase.
    1. Physically hot-add.
         - Accept notification from firmware.
         - Make sysfs file for new memory.
         - register SPARSEMEM and allocate memmap/pgdat/zone.
    2. logically online
         - free each pages of new memory to use them.
         - rebuild zonelist.

  But, unplug code just do logical offline. physicall hot-unplug
  must be necessary for test phase 1.


Hmm. I don't know what is necessary for suspend2.
But, some works looks still necessary for each way. 

Thanks.

-- 
Yasunori Goto 


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ