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
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
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
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
/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
<[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
-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
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
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.
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
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
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
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
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&
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
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
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
>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
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/
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
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
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
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
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
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
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
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
> > 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.
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
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
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
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
line overflow\n");
> > + strcat(cmdline, str);
> > +#if 0
> > + printf("Command line after adding backup\n");
> > + printf("%s\n", cmdline);
> > +#endif
> > + return 0;
> > +}
>
> printf()? ...and
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
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/
; 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
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
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/
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
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
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/
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
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
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
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
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/
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
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
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
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
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
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
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
!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");
> > +
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
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:
>> >> &
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:
>> >&
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
>> >>
>>
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
>> >>
>>
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
"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
&
"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
"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
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
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
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
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
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
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 >
>> >
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
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
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
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
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
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
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
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
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
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
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
301 - 400 of 1854 matches
Mail list logo