[PATCH -v2] x86 boot: document for 32 bit boot protocol

2007-10-23 Thread Huang, Ying
This patch documents the 32-bit boot protocol of x86. It has been used by Kexec and LinuxBIOS. This patch is based on the proposal of Peter Anvin. Signed-off-by: Huang Ying <[EMAIL PROTECTED]> v2: - Fixes a bug about which registers should be set to zero. --- boot.txt

Re: [PATCH -v7 1/3] x86 boot: setup data

2007-10-23 Thread Huang, Ying
with a PSE36 hack, on non-PAE kernels.) For i386, the bootmem allocator covers at most 0~796M memory area. So some early reserve memory area can not be revered with bootmem allocator later. Should we fix bootmem allocator firstly? Best Regards, Huang Ying - To unsubscribe from this list: send the lin

[PATCH 1/2 -v2 resend] x86_64 EFI boot support: EFI frame buffer driver

2007-10-24 Thread Huang, Ying
video information as appropriate for EFI firmware. The framebuffer driver has been tested in i386 kernel and x86_64 kernel on EFI platform. Signed-off-by: Chandramouli Narayanan <[EMAIL PROTECTED]> Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- drivers/video/Kconfig | 11

[PATCH 2/2 -v2 resend] x86_64 EFI boot support: EFI boot document

2007-10-24 Thread Huang, Ying
This patch adds document for EFI x86_64 boot support. The setup and operation guide of EFI based system is documented in Documentation/x86_64/uefi.txt. Signed-off-by: Chandramouli Narayanan <[EMAIL PROTECTED]> Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- uef

[PATCH 0/2 -v2 resend] x86_64 EFI boot support

2007-10-24 Thread Huang, Ying
/UEFI firmware and the support of bootloader is required. Detailed usage guide can be found in Documentation/x86_64/uefi.txt, which is added in the patch: EFI boot document v2: - The include files of efifb.c is cleaned up. - Make CONFIG_FB_EFI not depend on CONFIG_EFI. Best Regards, Huang Ying

[PATCH 1/3 -v4] x86_64 EFI runtime service support: EFI basic runtime service support

2007-10-25 Thread Huang, Ying
<[EMAIL PROTECTED]> Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- arch/x86/kernel/Makefile_64 |1 arch/x86/kernel/efi_64.c | 593 ++ arch/x86/kernel/efi_callwrap_64.S | 69 arch/x86/kernel/setup_64.c| 15

[PATCH 2/3 -v4] x86_64 EFI runtime service support: EFI runtime services

2007-10-25 Thread Huang, Ying
-off-by: Chandramouli Narayanan <[EMAIL PROTECTED]> Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- arch/x86/kernel/reboot_64.c | 19 +- arch/x86/kernel/time_64.c | 48 include/asm-x86/emergency-rest

[PATCH 3/3 -v4] x86_64 EFI runtime service support: document for EFI runtime services

2007-10-25 Thread Huang, Ying
This patch adds document for EFI x86_64 runtime services support. --- boot-options.txt | 12 +++- uefi.txt | 10 ++ 2 files changed, 21 insertions(+), 1 deletion(-) Signed-off-by: Chandramouli Narayanan <[EMAIL PROTECTED]> Signed-off-by: Huang Ying <[EMAIL

[PATCH 0/3 -v4] x86_64 EFI runtime service support

2007-10-25 Thread Huang, Ying
ible to fall back to CMOS based implementation. v2: - The EFI callwrapper is re-implemented in assembler. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.

[PATCH -mm -v5 0/3] i386/x86_64 boot: 32-bit boot protocol

2007-10-11 Thread Huang, Ying
o page for compatibility. v2: - Increase the boot protocol version number - Check version number before parsing setup data. - Revise zero page description according to the source code and move them to zero-page.txt. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscri

[PATCH -mm -v5 2/3] i386/x86_64 boot: boot parameters export via sysfs

2007-10-11 Thread Huang, Ying
This patch export the boot parameters via sysfs. This can be used for debugging and kexec. Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- i386/kernel/Makefile|1 i386/kernel/ksysfs.c| 267 i386/kernel/setup.c |2

[PATCH -mm -v5 3/3] i386/x86_64 boot: document for 32 bit boot protocol

2007-10-11 Thread Huang, Ying
This patch defines a 32-bit boot protocol and adds corresponding document. It is based on the proposal of Peter Anvin. Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- boot.txt | 70 +++ zero-page.txt

Re: [PATCH -mm -v5 0/3] i386/x86_64 boot: 32-bit boot protocol

2007-10-14 Thread Huang, Ying
Hi, Peter and Andi, Do you think this patch set is ready for merging? Otherwise what I can do to make it ready? Best Regards, Huang Ying On Fri, 2007-10-12 at 13:52 +0800, Huang, Ying wrote: > This patchset defines a 32-bit boot protocol for i386/x86_64 platform, > adds an extensibl

Re: [PATCH -mm -v5 0/3] i386/x86_64 boot: 32-bit boot protocol

2007-10-16 Thread Huang, Ying
On Fri, 2007-10-12 at 13:52 +0800, Huang, Ying wrote: > Known Issues: > > - Where is safe to place the linked list of setup_data? Because the > length of the linked list of setup_data is variable, it can not be > copied into BSS segment of kernel as that of "zero page&

Re: [PATCH -mm -v5 0/3] i386/x86_64 boot: 32-bit boot protocol

2007-10-17 Thread Huang, Ying
On Wed, 2007-10-17 at 10:25 +0200, Andi Kleen wrote: > "Huang, Ying" <[EMAIL PROTECTED]> writes: > > > Do you think it is a good idea to check the collision between setup data > > and memory area used during kernel boot through bootmem allocator? > > You

Re: [PATCH -mm -v5 0/3] i386/x86_64 boot: 32-bit boot protocol

2007-10-17 Thread Huang, Ying
ion, the only unsafe memory area for setup data from bootloader is memory area after _end. And kernel can use hard coded memory area without the risk of conflicting with setup data from bootloader. Do you think this solution is better? Best Regards, Huang Ying - To unsubscribe from this list: send

Re: [PATCH -mm -v5 0/3] i386/x86_64 boot: 32-bit boot protocol

2007-10-17 Thread Huang, Ying
ap and other indicators of what memory is free. There are several memory areas used by kernel bootstrap before e820 map is consulted. You can refer to bad_addr for details. So I think it may be not a stable/simple prototype to provide this information to bootloader. Best Regards, Huang Ying - To

RE: [PATCH 0/2 -v2 resend] x86_64 EFI boot support

2007-11-01 Thread Huang, Ying
>From: Andrew Morton [mailto:[EMAIL PROTECTED] >On Wed, 31 Oct 2007 09:21:41 +0800 >"Huang, Ying" <[EMAIL PROTECTED]> wrote: > >> Can this patchset be merged into mainline kernel? This patchset has been >> in -mm tree from 2.6.23-rc2-mm2 on. Andrew Mot

RE: [PATCH 0/2 -v2 resend] x86_64 EFI boot support

2007-11-01 Thread Huang, Ying
hset? Or you modify it before merging? Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

[PATCH 2/2 -v3] x86_64 EFI boot support: EFI boot document

2007-11-01 Thread Huang, Ying
This patch adds document for EFI x86_64 boot support. The setup and operation guide of EFI based system is documented in Documentation/x86_64/uefi.txt. Signed-off-by: Chandramouli Narayanan <[EMAIL PROTECTED]> Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- Documentation/x86

[PATCH 1/2 -v3] x86_64 EFI boot support: EFI frame buffer driver

2007-11-01 Thread Huang, Ying
video information as appropriate for EFI firmware. The framebuffer driver has been tested in i386 kernel and x86_64 kernel on EFI platform. Signed-off-by: Chandramouli Narayanan <[EMAIL PROTECTED]> Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- drivers/video/Kconfig | 11

[PATCH 0/2 -v3] x86_64 EFI boot support

2007-11-01 Thread Huang, Ying
include files of efifb.c is cleaned up. - Make CONFIG_FB_EFI not depend on CONFIG_EFI. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org

Re: [PATCH] driver core: multithreaded probing - more parallelism control

2007-06-20 Thread Huang, Ying
al. I think this is easy to be implemented. And the serialization demand between subsystem can be satisfied too. > > + * @probe: probing infromation include probing function and parameter > ^^^ > typo: information Sorry, I will correct it in the next ver

[PATCH] driver core: multithreaded probing - more parallelism control

2007-06-20 Thread Huang, Ying
tch. If I need do anything because of it, please let me know. Any comment is welcome. Best Regards, Huang Ying --- This patch add multithreaded probing with more parallelism control. The device/driver probing is done on a probing queue, which is a customized version of work queue, where the thr

RE: [PATCH] driver core: multithreaded probing - more parallelism control

2007-06-21 Thread Huang, Ying
er than raw kthread for this. And the bus scanning thread may need to exist during system running, using the probing queue the bus scanning thread can be created and destroyed on demanded too. Thank you very much for your comment. Best Regards, Huang Ying - To unsubscribe from this list: send the

Re: [PATCH] driver core: multithreaded probing - more parallelism control

2007-06-21 Thread Huang, Ying
time, while with workqueue, just schedule the jobs needed. And a workqueue like the probing queue whose thread can be created/destroyed on demand will save more resources than ordinary workqueue. :) Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-ker

RE: [PATCH] driver core: multithreaded probing - more parallelismcontrol

2007-06-24 Thread Huang, Ying
sed for this. The parallel control mechanism can be used to implement multithreaded device probing in needed subsystems too. Best Regards, Huang, Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info

Re: [PATCH] driver core: multithreaded device matching with dependency

2007-06-11 Thread Huang, Ying
> > Index: linux-2.6.22-rc4/include/linux/device.h > > === > > --- linux-2.6.22-rc4.orig/include/linux/device.h2007-06-08 > > 18:26:11.0 +0800 > > +++ linux-2.6.22-rc4/include/linux/device.h 2007-06-09 > > 19:41:03.

[PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-11 Thread Huang, Ying
swsusp is the default implementation. Signed-off-by: Huang Ying <[EMAIL PROTECTED]> Kexec jump This patch provide the kexec based implementation of hibernation image operation. Now, only jumping between original kernel and kexeced kernel is supported, real image write/read/check will be provi

[PATCH 1/2] Kexec jump: Hibernation image operations

2007-07-11 Thread Huang, Ying
This patch make it possible to have multiple implementations of hibernation image operations such as write, read, check, etc, and they can be switched at run time through writing the "/sys/power/hibernation_image_ops". The uswsusp is the default implementation. Signed-off-by: Huang Yi

[PATCH 2/2] Kexec jump: Kexec jump

2007-07-11 Thread Huang, Ying
This patch provide the kexec based implementation of hibernation image operation. Now, only jumping between original kernel and kexeced kernel is supported, real image write/read/check will be provided in next patches. Signed-off-by: Huang Ying <[EMAIL PROTECTED]> arch/i386/kernel/Ma

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-11 Thread Huang, Ying
ot-up time of kexec kernel. Maybe the kexec kernel can be hibernate/resume by the normal kernel too. This way, a real kexec/boot-up is only needed for the first time. Best Regards, Huang, Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a mess

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-12 Thread Huang, Ying
line overflow\n"); > > + strcat(cmdline, str); > > +#if 0 > > + printf("Command line after adding backup\n"); > > + printf("%s\n", cmdline); > > +#endif > > + return 0; > > +} > > printf()? ...and

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-12 Thread Huang, Ying
ants anyway? And don't you want to suspend them, to make sure > they're not still DMAing memory while B is trying to shuffle everything > off to disk? The devices should be put quiescent state to stop DMA like things. But they do not need to be put in low power state. "D

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-12 Thread Huang, Ying
ules, as that of most desktop distributions. So just "insmod" needed modules only in hibernate kernel is sufficient. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Re: [PATCH 2/2] Kexec jump: Kexec jump

2007-07-13 Thread Huang, Ying
; no? I'd prefer it not be hooked into hibernation infrastructure. Yes. In fact, with device_suspend(...), disable_nonboot_cpus() and enable_nonboot_cpus(), device_resume(...) around the above two functions, the jumping between normal kernel and kexeced kernel can work too. Maybe it is more

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-13 Thread Huang, Ying
mage from a program other than main kernel. For example, for a specific mobile device product (Such as Intel MID), a customized ultra-small program (or kernel) can be composed to write/read image. That way, the hibernate/resume time can be reduced to minimal. Best Regards, Huang Ying - To unsubscribe

Re: [PATCH 2/2] Kexec jump: Kexec jump

2007-07-13 Thread Huang, Ying
ate_kernel.S. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-13 Thread Huang, Ying
ontrol all of the code so > it should be relatively straight forward. Just not loading unnecessary drivers may be sufficient. But further optimization is also possible. The basic idea of optimization is: For first run: 1. boot the normal kernel A 2. kexec the hibernate kernel B 3. jump back to

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-13 Thread Huang, Ying
There are still many steps should be done to get hibernation work. > ...video does not work in the kexec-ed kernel, unless I boot with > vga=1. > I will check it. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-13 Thread Huang, Ying
memory 0~16M. The resuming process will continue in kexeced resuming kernel. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-14 Thread Huang, Ying
be restored after that. > > Well, I don't know why this needs to be that complicated. We already have > code in the mainline that's able to load a large hibernation image into memory > and jump to the kernel being restored. And it has _no_ 50% of RAM limitation, > this is the

[PATH 0/1] Kexec jump - v2 - the first step to kexec based hibernation

2007-07-15 Thread Huang, Ying
The changelog between v1 and v2 1. The kexec jump implementation is put into the kexec/kdump framework instead of software suspend framework. The device and CPU state save/restore code of software suspend is called when needed. 2. The same code path is used for both kexec a new kernel an

[PATH 1/1] Kexec jump - v2 - kexec jump

2007-07-15 Thread Huang, Ying
called to implement corresponding function. Signed-off-by: Huang Ying <[EMAIL PROTECTED]> --- arch/i386/Kconfig|7 +++ arch/i386/kernel/Makefile|1 arch/i386/kernel/kexec_jump.S| 74 + arch/i386/kernel/machine_kexec.c

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-15 Thread Huang, Ying
e saved, they can be used freely during image writing/reading. On x86_64, there is another usage of nosave during processing E820 memory map. But I don't know why the memory region other than E820_RAM are marked as nosave. I think only the memory region of type E820_RAM will be thought of norma

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-16 Thread Huang, Ying
nate). What do you think about the pattern of collaboration? At last, thank you very much for your valuable reminding in the mail of "hibernation considerations". Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

Re: [PATCH 0/2] Kexec jump: The first step to kexec base hibernation

2007-07-17 Thread Huang, Ying
se? It is possible for hibernate kernel to pass information back to pre-hibernate kernel. For example, the information can be passed in jump buffer page. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PRO

Re: [PATH 0/1] Kexec jump - v2 - the first step to kexec based hibernation

2007-07-18 Thread Huang, Ying
ice suspend. Without that, the ACPI issue can not be resolved. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ a

[PATCH] driver core: multithreaded device matching with dependency

2007-06-07 Thread Huang, Ying
From: Huang Ying <[EMAIL PROTECTED]> This is another solution to implement multithreaded device matching (probing). The device matching is delayed until all drivers are registered. The driver registering is executed one by one, this eliminates the potential of interdependency between drive

RE: [PATCH] driver core: multithreaded device matching with dependency

2007-06-08 Thread Huang, Ying
probes? If subsystem needs strictly serial probing, it can accomplish this through "depend" field as mentioned above. >> +EXPORT_SYMBOL_GPL(device_match_freeze); >> +EXPORT_SYMBOL_GPL(device_match_thaw); > >Their definitions lack kerneldoc comments. Sorry, I will add it i

RE: [PATCH] driver core: multithreaded device matching with dependency

2007-06-08 Thread Huang, Ying
ive, the driver core doesn't. I totally agree that the parallelized probing should be controlled by the subsystems. By if the mechanism can be provided by driver core effectively, the solution will be ideal. Best Regards, Huang Ying - To unsubscribe from this list: send the line "unsubscr

RE: [PATCH] driver core: multithreaded device matching with dependency

2007-06-09 Thread Huang, Ying
verification. It can work on my thinkpad T42. More optimization can be done if necessary. Because I have only "Outlook" as mail client, the format of patch may have some problem. If the patch has any problem and you need the patch, I can resend it in attach file. Best Regards, Huang Ying In

Re: [PATCH 2.6.21 3/3] x86_64 EFI64 support Try #2

2007-07-04 Thread Huang, Ying
gt; checkpatch.pl will save me work. Sorry, the next version will be checked with checkpatch.pl firstly. > > +#ifndef __i386__ > > + //screen_info.imacpm_seg = 0; > > +#endif > > hmm. > > > + > > + if (!request_mem_region(efifb_fix.smem_s

Re: [PATCH 2.6.21 1/3] x86_64 EFI64 support Try #2

2007-07-04 Thread Huang, Ying
!efi.systab) > > + BUG(); > > BUG_ON() Will do. > > + > > +efi_status_t LIN2WIN1(void *func, u64 arg1) > > +{ > > + u64 ret, dummy; > > + register u64 r8 __asm__("r8"); > > + register u64 r9 __asm__("r9"); > > +

Re: [PATCH -v3 01/10] mm, swap: Make swap cluster size same of THP size on x86_64

2016-09-19 Thread Huang, Ying
Hi, Johannes, Johannes Weiner writes: > On Thu, Sep 08, 2016 at 11:15:52AM +0530, Anshuman Khandual wrote: >> On 09/07/2016 10:16 PM, Huang, Ying wrote: >> > From: Huang Ying >> > >> > In this patch, the size of the swap cluster is changed to that of the

Re: [PATCH -v3 00/10] THP swap: Delay splitting THP during swapping out

2016-09-19 Thread Huang, Ying
Hi, Minchan, Minchan Kim writes: > Hi Huang, > > On Sun, Sep 18, 2016 at 09:53:39AM +0800, Huang, Ying wrote: >> Minchan Kim writes: >> >> > On Tue, Sep 13, 2016 at 04:53:49PM +0800, Huang, Ying wrote: >> >> Minchan Kim writes: >> >> &

Re: [PATCH -v3 00/10] THP swap: Delay splitting THP during swapping out

2016-09-19 Thread Huang, Ying
Minchan Kim writes: > Hi Huang, > > On Tue, Sep 20, 2016 at 10:54:35AM +0800, Huang, Ying wrote: >> Hi, Minchan, >> >> Minchan Kim writes: >> > Hi Huang, >> > >> > On Sun, Sep 18, 2016 at 09:53:39AM +0800, Huang, Ying wrote: >> >&

Re: [PATCH] MADVISE_FREE, THP: Fix madvise_free_huge_pmd return value after splitting

2016-06-20 Thread Huang, Ying
Minchan Kim writes: > On Fri, Jun 17, 2016 at 12:45:43PM -0700, Huang, Ying wrote: >> Minchan Kim writes: >> >> > Hi, >> > >> > On Thu, Jun 16, 2016 at 08:03:54PM -0700, Huang, Ying wrote: >> >> From: Huang Ying >> >> >>

Re: [PATCH] MADVISE_FREE, THP: Fix madvise_free_huge_pmd return value after splitting

2016-06-20 Thread Huang, Ying
Minchan Kim writes: > On Fri, Jun 17, 2016 at 08:59:31AM -0700, Huang, Ying wrote: >> Minchan Kim writes: >> >> > Hi, >> > >> > On Thu, Jun 16, 2016 at 08:03:54PM -0700, Huang, Ying wrote: >> >> From: Huang Ying >> >> >>

Re: [PATCH -v3 00/10] THP swap: Delay splitting THP during swapping out

2016-09-22 Thread Huang, Ying
Hi, Shaohua, Thanks for comments! Shaohua Li writes: > On Wed, Sep 07, 2016 at 09:45:59AM -0700, Huang, Ying wrote: >> >> The advantages of the THP swap support include: Sorry for confusing. This is the advantages of the final goal, that is, avoid splitting/collapsing the

Re: [PATCH -v3 00/10] THP swap: Delay splitting THP during swapping out

2016-09-22 Thread Huang, Ying
Rik van Riel writes: > On Thu, 2016-09-22 at 15:56 -0700, Shaohua Li wrote: >> On Wed, Sep 07, 2016 at 09:45:59AM -0700, Huang, Ying wrote: >> >  >> > - It will help the memory fragmentation, especially when the THP is >> >   heavily used by the applica

Re: [PATCH -v3 00/10] THP swap: Delay splitting THP during swapping out

2016-09-25 Thread Huang, Ying
Shaohua Li writes: > On Fri, Sep 23, 2016 at 10:32:39AM +0800, Huang, Ying wrote: >> Rik van Riel writes: >> >> > On Thu, 2016-09-22 at 15:56 -0700, Shaohua Li wrote: >> >> On Wed, Sep 07, 2016 at 09:45:59AM -0700, Huang, Ying wrote: >> >> &g

Re: [LKP] [lkp] [xfs] 68a9f5e700: aim7.jobs-per-min -13.6% regression

2016-09-25 Thread Huang, Ying
Hi, Christoph, "Huang, Ying" writes: > Hi, Christoph, > > "Huang, Ying" writes: > >> Christoph Hellwig writes: >> >>> Snipping the long contest: >>> >>> I think there are three observations here: >>> >>&g

Re: [LKP] [lkp] [f2fs] ec795418c4: fsmark.files_per_sec -36.3% regression

2016-09-25 Thread Huang, Ying
Hi, Jaegeuk, "Huang, Ying" writes: > Jaegeuk Kim writes: > >> Hello, >> >> On Sat, Aug 27, 2016 at 10:13:34AM +0800, Fengguang Wu wrote: >>> Hi Jaegeuk, >>> >>> > > >> > - [lkp] [f2fs] b93f771286: aim7.jobs-per-min

Re: [LKP] [lkp] [f2fs] ec795418c4: fsmark.files_per_sec -36.3% regression

2016-09-26 Thread Huang, Ying
Jaegeuk Kim writes: > On Mon, Sep 26, 2016 at 02:26:06PM +0800, Huang, Ying wrote: >> Hi, Jaegeuk, >> >> "Huang, Ying" writes: >> >> > Jaegeuk Kim writes: >> > >> >> Hello, >> >> >&g

Re: [LKP] [lkp] [xfs] 68a9f5e700: aim7.jobs-per-min -13.6% regression

2016-09-26 Thread Huang, Ying
this unconvered. But > in the end will probabkly stuck with a slight regression in this > artificial workload. I see. Thanks for update. Please keep me posted. Best Regards, Huang, Ying

[PATCH -v3 00/10] THP swap: Delay splitting THP during swapping out

2016-09-07 Thread Huang, Ying
From: Huang Ying This patchset is to optimize the performance of Transparent Huge Page (THP) swap. Hi, Andrew, could you help me to check whether the overall design is reasonable? Hi, Hugh, Shaohua, Minchan and Rik, could you help me to review the swap part of the patchset? Especially [01/10

[PATCH -v3 06/10] mm, THP, swap: Support to clear SWAP_HAS_CACHE for huge page

2016-09-07 Thread Huang, Ying
From: Huang Ying __swapcache_free() is added to support to clear the SWAP_HAS_CACHE flag for the huge page. This will free the specified swap cluster now. Because now this function will be called only in the error path to free the swap cluster just allocated. So the corresponding swap_map[i

[PATCH -v3 10/10] mm, THP, swap: Delay splitting THP during swap out

2016-09-07 Thread Huang, Ying
From: Huang Ying In this patch, splitting huge page is delayed from almost the first step of swapping out to after allocating the swap space for the THP (Transparent Huge Page) and adding the THP into the swap cache. This will reduce lock acquiring/releasing for the locks used for the swap cache

[PATCH -v3 08/10] mm, THP: Add can_split_huge_page()

2016-09-07 Thread Huang, Ying
From: Huang Ying Separates checking whether we can split the huge page from split_huge_page_to_list() into a function. This will help to check that before splitting the THP (Transparent Huge Page) really. This will be used for delaying splitting THP during swapping out. Where for a THP, we

[PATCH -v3 07/10] mm, THP, swap: Support to add/delete THP to/from swap cache

2016-09-07 Thread Huang, Ying
From: Huang Ying With this patch, a THP (Transparent Huge Page) can be added/deleted to/from the swap cache as a set of sub-pages (512 on x86_64). This will be used for the THP (Transparent Huge Page) swap support. Where one THP may be added/delted to/from the swap cache. This will batch the

[PATCH -v3 09/10] mm, THP, swap: Support to split THP in swap cache

2016-09-07 Thread Huang, Ying
From: Huang Ying This patch enhanced the split_huge_page_to_list() to work properly for the THP (Transparent Huge Page) in the swap cache during swapping out. This is used for delaying splitting the THP during swapping out. Where for a THP to be swapped out, we will allocate a swap cluster

[PATCH -v3 03/10] mm, memcg: Support to charge/uncharge multiple swap entries

2016-09-07 Thread Huang, Ying
From: Huang Ying This patch make it possible to charge or uncharge a set of continuous swap entries in the swap cgroup. The number of swap entries is specified via an added parameter. This will be used for the THP (Transparent Huge Page) swap support. Where a swap cluster backing a THP may be

[PATCH -v3 04/10] mm, THP, swap: Add swap cluster allocate/free functions

2016-09-07 Thread Huang, Ying
From: Huang Ying The swap cluster allocation/free functions are added based on the existing swap cluster management mechanism for SSD. These functions don't work for the rotating hard disks because the existing swap cluster management mechanism doesn't work for them. The hard disks s

[PATCH -v3 05/10] mm, THP, swap: Add get_huge_swap_page()

2016-09-07 Thread Huang, Ying
From: Huang Ying A variation of get_swap_page(), get_huge_swap_page(), is added to allocate a swap cluster (512 swap slots) based on the swap cluster allocation function. A fair simple algorithm is used, that is, only the first swap device in priority list will be tried to allocate the swap

[PATCH -v3 01/10] mm, swap: Make swap cluster size same of THP size on x86_64

2016-09-07 Thread Huang, Ying
From: Huang Ying In this patch, the size of the swap cluster is changed to that of the THP (Transparent Huge Page) on x86_64 architecture (512). This is for the THP swap support on x86_64. Where one swap cluster will be used to hold the contents of each THP swapped out. And some information

[PATCH -v3 02/10] mm, memcg: Add swap_cgroup_iter iterator

2016-09-07 Thread Huang, Ying
From: Huang Ying The swap cgroup uses a kind of discontinuous array to record the information for the swap entries. lookup_swap_cgroup() provides a good encapsulation to access one element of the discontinuous array. To make it easier to access multiple elements of the discontinuous array, an

[PATCH 1/2] mm, swap: Use offset of swap entry as key of swap cache

2016-09-07 Thread Huang, Ying
From: Huang Ying This patch is to improve the performance of swap cache operations when the type of the swap device is not 0. Originally, the whole swap entry value is used as the key of the swap cache, even though there is one radix tree for each swap device. If the type of the swap device is

[PATCH 2/2] mm: Remove page_file_index

2016-09-07 Thread Huang, Ying
From: Huang Ying After using the offset of the swap entry as the key of the swap cache, the page_index() becomes exactly same as page_file_index(). So the page_file_index() is removed and the callers are changed to use page_index() instead. Cc: Trond Myklebust Cc: Anna Schumaker Cc: "K

Re: [PATCH -v3 08/10] mm, THP: Add can_split_huge_page()

2016-09-08 Thread Huang, Ying
Hi, Kirill, Thanks for your comments! "Kirill A. Shutemov" writes: > On Wed, Sep 07, 2016 at 09:46:07AM -0700, Huang, Ying wrote: >> From: Huang Ying >> >> Separates checking whether we can split the huge page from >> split_huge_page_to_list() into a fu

Re: [PATCH -v3 05/10] mm, THP, swap: Add get_huge_swap_page()

2016-09-08 Thread Huang, Ying
"Kirill A. Shutemov" writes: > On Wed, Sep 07, 2016 at 09:46:04AM -0700, Huang, Ying wrote: >> From: Huang Ying >> >> A variation of get_swap_page(), get_huge_swap_page(), is added to >> allocate a swap cluster (512 swap slots) based on the swap cluster &

Re: [PATCH -v3 01/10] mm, swap: Make swap cluster size same of THP size on x86_64

2016-09-08 Thread Huang, Ying
"Kirill A. Shutemov" writes: > On Wed, Sep 07, 2016 at 09:46:00AM -0700, Huang, Ying wrote: >> From: Huang Ying >> >> In this patch, the size of the swap cluster is changed to that of the >> THP (Transparent Huge Page) on x86_64 architecture (512). T

Re: [PATCH -v3 01/10] mm, swap: Make swap cluster size same of THP size on x86_64

2016-09-08 Thread Huang, Ying
"Kirill A. Shutemov" writes: > On Wed, Sep 07, 2016 at 09:46:00AM -0700, Huang, Ying wrote: >> From: Huang Ying >> >> In this patch, the size of the swap cluster is changed to that of the >> THP (Transparent Huge Page) on x86_64 architecture (512). T

Re: [PATCH -v3 01/10] mm, swap: Make swap cluster size same of THP size on x86_64

2016-09-08 Thread Huang, Ying
Anshuman Khandual writes: > On 09/07/2016 10:16 PM, Huang, Ying wrote: >> From: Huang Ying >> >> In this patch, the size of the swap cluster is changed to that of the >> THP (Transparent Huge Page) on x86_64 architecture (512). This is for >> the THP swap s

Re: [PATCH -v3 07/10] mm, THP, swap: Support to add/delete THP to/from swap cache

2016-09-08 Thread Huang, Ying
Hi, Anshuman, Thanks for comments! Anshuman Khandual writes: > On 09/07/2016 10:16 PM, Huang, Ying wrote: >> From: Huang Ying >> >> With this patch, a THP (Transparent Huge Page) can be added/deleted >> to/from the swap cache as a set of sub-pages (512 on x86_64

Re: [PATCH -v3 04/10] mm, THP, swap: Add swap cluster allocate/free functions

2016-09-08 Thread Huang, Ying
Anshuman Khandual writes: > On 09/07/2016 10:16 PM, Huang, Ying wrote: >> From: Huang Ying >> >> The swap cluster allocation/free functions are added based on the >> existing swap cluster management mechanism for SSD. These functions >> don't work f

Re: [PATCH -v3 03/10] mm, memcg: Support to charge/uncharge multiple swap entries

2016-09-08 Thread Huang, Ying
Anshuman Khandual writes: > On 09/07/2016 10:16 PM, Huang, Ying wrote: >> From: Huang Ying >> >> This patch make it possible to charge or uncharge a set of continuous >> swap entries in the swap cgroup. The number of swap entries is >> specified via an add

Re: [PATCH -v3 00/10] THP swap: Delay splitting THP during swapping out

2016-09-12 Thread Huang, Ying
Minchan Kim writes: > Hi Huang, > > On Fri, Sep 09, 2016 at 01:35:12PM -0700, Huang, Ying wrote: > > < snip > > >> >> Recently, the performance of the storage devices improved so fast that >> >> we cannot saturate the disk bandwidth when do page

Re: [PATCH -v3 00/10] THP swap: Delay splitting THP during swapping out

2016-09-13 Thread Huang, Ying
Minchan Kim writes: > On Tue, Sep 13, 2016 at 02:40:00PM +0800, Huang, Ying wrote: >> Minchan Kim writes: >> >> > Hi Huang, >> > >> > On Fri, Sep 09, 2016 at 01:35:12PM -0700, Huang, Ying wrote: >> > >> > < snip > >> >

Re: [PATCH -v2] mm: Don't use radix tree writeback tags for pages in swap cache

2016-08-31 Thread Huang, Ying
Mel Gorman writes: > On Tue, Aug 30, 2016 at 10:28:09AM -0700, Huang, Ying wrote: >> From: Huang Ying >> >> File pages use a set of radix tree tags (DIRTY, TOWRITE, WRITEBACK, >> etc.) to accelerate finding the pages with a specific tag in the radix >> tree

Re: [PATCH -v2] mm: Don't use radix tree writeback tags for pages in swap cache

2016-08-31 Thread Huang, Ying
Mel Gorman writes: > On Wed, Aug 31, 2016 at 08:17:24AM -0700, Huang, Ying wrote: >> Mel Gorman writes: >> >> > On Tue, Aug 30, 2016 at 10:28:09AM -0700, Huang, Ying wrote: >> >> From: Huang Ying >> >> >> >> File pages use a set o

[PATCH -v2 02/10] mm, memcg: Add swap_cgroup_iter iterator

2016-09-01 Thread Huang, Ying
From: Huang Ying The swap cgroup uses a kind of discontinuous array to record the information for the swap entries. lookup_swap_cgroup() provides a good encapsulation to access one element of the discontinuous array. To make it easier to access multiple elements of the discontinuous array, an

[PATCH -v2 01/10] swap: Change SWAPFILE_CLUSTER to 512

2016-09-01 Thread Huang, Ying
From: Huang Ying In this patch, the size of the swap cluster is changed to that of the THP (Transparent Huge Page) on x86_64 architecture (512). This is for the THP swap support on x86_64. Where one swap cluster will be used to hold the contents of each THP swapped out. And some information

[PATCH -v2 07/10] mm, THP, swap: Support to add/delete THP to/from swap cache

2016-09-01 Thread Huang, Ying
From: Huang Ying With this patch, a THP (Transparent Huge Page) can be added/deleted to/from the swap cache as a set of sub-pages (512 on x86_64). This will be used for the THP (Transparent Huge Page) swap support. Where one THP may be added/delted to/from the swap cache. This will batch the

[PATCH -v2 08/10] mm, THP: Add can_split_huge_page()

2016-09-01 Thread Huang, Ying
From: Huang Ying Separates checking whether we can split the huge page from split_huge_page_to_list() into a function. This will help to check that before splitting the THP (Transparent Huge Page) really. This will be used for delaying splitting THP during swapping out. Where for a THP, we

[PATCH -v2 04/10] mm, THP, swap: Add swap cluster allocate/free functions

2016-09-01 Thread Huang, Ying
From: Huang Ying The swap cluster allocation/free functions are added based on the existing swap cluster management mechanism for SSD. These functions don't work for the rotating hard disks because the existing swap cluster management mechanism doesn't work for them. The hard disks s

[PATCH -v2 09/10] mm, THP, swap: Support to split THP in swap cache

2016-09-01 Thread Huang, Ying
From: Huang Ying This patch enhanced the split_huge_page_to_list() to work properly for the THP (Transparent Huge Page) in the swap cache during swapping out. This is used for delaying splitting the THP during swapping out. Where for a THP to be swapped out, we will allocate a swap cluster

[PATCH -v2 05/10] mm, THP, swap: Add get_huge_swap_page()

2016-09-01 Thread Huang, Ying
From: Huang Ying A variation of get_swap_page(), get_huge_swap_page(), is added to allocate a swap cluster (512 swap slots) based on the swap cluster allocation function. A fair simple algorithm is used, that is, only the first swap device in priority list will be tried to allocate the swap

[PATCH -v2 06/10] mm, THP, swap: Support to clear SWAP_HAS_CACHE for huge page

2016-09-01 Thread Huang, Ying
From: Huang Ying __swapcache_free() is added to support to clear the SWAP_HAS_CACHE flag for the huge page. This will free the specified swap cluster now. Because now this function will be called only in the error path to free the swap cluster just allocated. So the corresponding swap_map[i

[PATCH -v2 03/10] mm, memcg: Support to charge/uncharge multiple swap entries

2016-09-01 Thread Huang, Ying
From: Huang Ying This patch make it possible to charge or uncharge a set of continuous swap entries in the swap cgroup. The number of swap entries is specified via an added parameter. This will be used for the THP (Transparent Huge Page) swap support. Where a swap cluster backing a THP may be

<    1   2   3   4   5   6   7   8   9   10   >