4���Ł@RCU�̑S�ʏ����������I 2.6.29�͉����ς�����H


���莑�L
2009/5/8

�@���₠�A�������̓s���ŏ����܂���ł������A4���ŏI�T��Ingo�������o�����u�J�[�l����p�R���p�C������낤���I�v�X���b�h���吷��オ��B���o�J�Șb��قǃX���b�h���L�т�̂́A�S���E���ʂł��ˁB

�@����ł͗\���ǂ���A����̓J�[�l��2.6.29�ɂ‚��Ă̂����ܘb�������肢�����܂��B�ǂ����B

�J�[�l��2.6.29�̎�ȕύX�_


�������_���V�[�h�󂯓n�����@�̕ύX�ɂ��A�v���P�[�V�����N���̍�����

�@�ŋ߂�gcc�ɂ́Aglibc�ƘA�g���ăX�^�b�N�j������m����SSP�iStack Smashing Protector�j�Ƃ����@�\����������Ă��܂��i-fstack-protector�I�v�V�����j�B����̓X�^�b�N�Ɂu�J�i���A�l�v�ƌĂ΂�����Ȓl�𖄂ߍ��݁A�֐����^�[�����ɁA���̒l�����ύX�ł��邱�Ƃ��m�F���邱�ƂŎ�������Ă��܂��B

�@���̃J�i���A�l�ł����A�U���҂����O�ɒl��\�z�ł��Ă��܂��ƊȒP�ɉ���ł��Ă��܂����߁A�K�؂ȃ����_���l���g���K�v������܂��B

�@�]��glibc�́A���̂��߂�main()���n�܂�O�ɖ���/dev/urandom���I�[�v�����Ă��܂����B�������A���ɃV�F���X�N���v�g�̂悤�ȏ����ȃv���Z�X���ʂɐ������鏈���ɂ����Đ��\�򉻂��傫���A���ɂȂ��Ă��܂����B

�@Kees Cook�i��1�j�́A�uglibc�͍ŏ���TSC�������擾���Ă�񂾂���A����ɂ�������H�������̂��V�[�h�Ɏg�����v�ƒ�Ă��܂������A�u�n�b�N�߂���i���{���I�ł͂Ȃ��A�v���[�`�j���낤�v��Ulrich Drepper�ɋ��ۂ���܂��i��2�j�B������󂯂�Jakub Jelinek�́u������������͍ŏ�����J�[�l���������_���V�[�h��n���Ă���邱�Ƃ���Ȃ��̂��v�ƒ�Ă��܂��B

�@���܂�m���Ă��Ȃ����Ƃł����ALinux��exec�V�X�e���R�[�����s���ɁA�����E�‹��ϐ��̂ق��Ɂu�⏕�x�N�^�v�Ƃ�����libc�p�̉B���������X�^�b�N�ɓn���Ă��܂��B�������g�����邱�Ƃł��ꂢ�Ɏ����ł��邾�낤�Ƃ����̂ł��B���̒�Ă͂߂ł����󂯓�����A�}�[�W����܂����B

��1�F�J�m�j�J���̐l���p�b�`�o���Ȃ�Ē�����
��2�F�M�҂��A�\���s�”\�����Â��l���߂����낤�Ɗ����܂���

��RCU���S�ʏ��������ŁuTree RCU�v��

�@�g�ݍ��݂���X�p�R���܂ŃT�|�[�g����Linux�̋��ٓI�ȃX�P�[���r���e�B���x����\���v�f��1�‚ɁARCU�iRead-Copy Update�j������܂��B����RCU���S�ʓI�ɏ���������܂����B

�֘A�L���F
�S�e��������Linux�J�[�l��2.6�m��1�́n�i��IT Linux Square�j

�@��҂�Paul McKenney���킭�A�u�]����RCU�̃X�P�[���r���e�B�̌��E�́A�����������SCPU�������B���̒��N�̐��\�o�O���𒼂��K�v������i��3�j�B������4096CPU�܂ŃX�P�[������`�ōĎ��������v�Ƃ������Ƃ炵���ł��B

��3�F�o�O�c�c�����H

�@�܂�RCU�̂����炢����B

�@RCU�ɂ����ẮAread-side�͈�؃��b�N�����K�v������܂��񂪁A�N���e�B�J���Z�N�V�������ŃR���e�L�X�g�X�C�b�`���N����Ȃ����Ƃ�ۏ؂��Ȃ���΂Ȃ�܂���B�΂���reclaim-side�ł́A�X�P�W���[�������̒���RCU�ɃR�[���o�b�N���A�SCPU��1��ȏ�X�P�W���[�����ꂽ���Ƃ��m�F���Ă���Acall_rcu�œo�^���ꂽ�j���������J�n���܂��B����ɂ��read-side���N���e�B�J���Z�N�V�����𔲂��Ă��邱�Ƃ�ۏ؂��܂��B

�@���āA�����Ŗ��ɂȂ�̂́u�SCPU��1��ȏ�X�P�W���[�����ꂽ�v���Ƃ��L�^���邽�߂́ACPU�‚̃r�b�g�z��̔r�������ł��B4000�‚�CPU�������X�s�����b�N�����ɂ�������A��������Ɍ��܂��Ă��܂��B�]����RCU�͂܂��ɂ��̖�������Ă��܂����B

�@�����ŁATree RCU�ł͂���CPU�r�b�g�}�b�v�𕪊����A64CPU���n���h�����O����r�b�g�}�b�v��64��邱�Ƃŋ��������炵�Ă��܂��i64�~64��4096CPU�j�B�Ȃ��A�����ł�2�i��Tree��������܂������A�ő�3�i�܂ŃT�|�[�g���Ă���̂ŁA���_�I�ɓK�p�”\�ȍő�CPU����64�~6�~64��26��2144CPU�ƂȂ�܂��BPaul�A�l���߂��ł��B

�@���āA�����܂ł��ƁA���̒���99.999���̐l�ɂ͂܂��������b�̂Ȃ��p�b�`�ŏI����Ă��܂��̂ł����A1�”��ɑf���炵��feature���lj�����Ă��܂��B����͏ȓd�̓T�|�[�g�ł��B

�@�]����RCU�͂��̓��쌴����A��؎d�����Ȃ�deep sleep���Ă���CPU���A�킴�킴1��N���Ă���RCU�̃R�[���o�b�N���Ăяo���ACPU�r�b�g�}�b�v��ON�ɂ��Ȃ���΂Ȃ�܂���ł����BRCU�����̂��тɑSCPU�������Ă��ẮA���‚܂ł����Ă�����d�͂��ߖ�ł��܂���B

�@������Tree RCU�ł́Aidle�֐��ɓ���C�X�e�[�g��ς��钼�O��RCU�ɂ��t���O�𗧂ĂĂ����ACPU�����������N�����Ȃ��Ă��悢�悤�ɍH�v����Ă��܂��B

�@�ŋ߂̓T�[�o����ł�����d�͂̓z�b�g�Șb��ł�����A���b���󂯂�l�������̂ł͂Ȃ��ł��傤���B�Ȃ��A���݂͂܂�Tree RCU�̓f�t�H���g�ł͂���܂��񂪁A2.6.30�Ńf�t�H���g�ɕύX�����\��ł��B

���t�@�C���V�X�e���E�t���[�Y�ŃX�i�b�v�V���b�g

�@�G���^�[�v���C�Y�ɂ�����d�v�ȃX�g���[�W�v����1�‚Ƃ��āA�X�i�b�v�V���b�g�@�\�̃T�|�[�g������܂��B�X�i�b�v�V���b�g�Ƃ́A�f�B�X�N�{�����[���S�̂��u���ɕ�������Z�p�ŁA��Ƀo�b�N�A�b�v�Ƒg�ݍ��킹�Ďg���܂��B�o�b�N�A�b�v�\�t�g�������{�����[����ǂݏo���Ă���Ԃ��A�Ɩ��A�v���P�[�V�����͎�{�����[���ɑ΂��Ēʏ�ǂ���t�@�C���ɓǂݏ����ł���̂ŁA�o�b�N�A�b�v�̂��߂ɃT�[�o���~����K�v���Ȃ��Ȃ�A�Ƃ����킯�ł��B

�@Linux�ł�LVM���C���ł��̃X�i�b�v�V���b�g���T�|�[�g���Ă��܂����B�������ŋ߂̃G���^�[�v���C�Y�X�g���[�W���i�̒��ɂ́A�n�[�h�E�F�A���x���ŃX�i�b�v�V���b�g�@�\���������̂������Ă����̂ŁA������L�`���Ǝg����悤�ɂ������Ƃ����v�]������܂����B

�@�Ȃ��n�[�h�E�F�A�����@�\�������Ă���̂ɁA����Ƀ\�t�g�E�F�A�ł̃T�|�[�g���K�v�Ȃ̂ł��傤���H ����̓L���b�V���������ł��B�t�@�C���V�X�e������������m��ʏ��Ńu���b�N�f�o�C�X�̕�����������ꍇ�A�f�o�C�X�ւ̏������݂��������Ă��Ȃ��������ꂸ�A��ꂽ�f�[�^�����Ă��܂����Ƃ�����܂��B����ł͉��̂��߂̃o�b�N�A�b�v��������܂���B

�@���̂��߁A�t�@�C���V�X�e���̃_�[�e�B�f�[�^�����ׂăf�o�C�X�ɔ��f�����A���ƒX�i�b�v�V���b�g�쐬���ɐV�K�������݂��f�o�C�X�ɑ΂��Ďn�܂�Ȃ����Ƃ�ۏ؂��ăX�i�b�v�V���b�g�����K�v������܂��B

�@Takashi Sato�́ALinux�t�@�C���V�X�e���͂��łɁA���̂悤�ȁu�����{�V�K�������݋��ہv�C���^�[�t�F�C�X��LVM�X�i�b�v�V���b�g�p�Ɏ����Ă���A���[�U�[��ԂɓK�؂Ɍ��J����Ă��Ȃ����Ƃ��������ł��邱�Ƃ𖾂炩�ɂ��܂����B�����āA�v���v���C�G�^���E�t�@�C���V�X�e�����x���̃t�@�C���V�X�e���E�X�i�b�v�V���b�g�@�\��Linux�ɂ��K�v���Ɛ����܂����B

�@���́AXFS�͂��łɁAXFS��pioctl�Ƃ��Ă��̂悤�Ȏd�g�݂��������Ă���A���т�����܂����B������t�@�C���V�X�e����ˑ��Ȍ`�ōĎ�������Ƃ����ނ̒�ẮA�D�����Ō}�����܂��B

�֘A�L���F
64bit�t�@�C���V�X�e�� XFS�̎����i��IT Linux Square�j

�@���΂炭�̊ԁA�t�@�C���V�X�e���E�t���[�Y������A�A���t���[�Y����̂�Y�ꂽ�ꍇ�̋����ɂ‚��Ĉӌ�������A�Ȃ��Ȃ��c�_���������܂���ł������A�ŏI�I�Ɂu�^�C���A�E�g�ɂ�鎩���A���t���[�Y�͂�͂蕛��p���傫�߂��邵�A����Ȃ΂����~���K�v�͂Ȃ��v�Ƃ������j�ō��ӂ������A�����}�[�W����܂����B

�@�]�k�ł����A���܂��傤��LKML�ɂ����āu�t���[�Y����mmap�o�R�̏������݂͎~�܂�Ȃ�����A�܂��l��������Ȃ��񂶂�Ȃ��̂��H�v�Ƃ����o�����l�����āA�c�_���i��ł��܂��B2.6.30�ɊԂɍ������ȁH

3���ł�
1/2

Index
Linux Kernel Watch�@4����
�@RCU�̑S�ʏ����������I 2.6.29�͉����ς�����H
Page 1
�@�J�[�l��2.6.29�̎�ȕύX�_
�@ Page 2
�@-stable�̐i���傭

�A�� Linux Kernel Watch


�@Linux Square�t�H�[���� Linux�J�[�l���֘A�L��
�A�ځFLinux Kernel Watch�i�A�ڒ��j
Linux�J�[�l���J���̌���ł͂��܂��܂Ȓ�Ă�c�_�����킳��Ă��܂��B���̒����炢���‚��̃g�s�b�N���s�b�N�A�b�v���Ă��`�����܂�
�A�ځFLinux�t�@�C���V�X�e���Z�p���
�t�@�C���V�X�e���ɂ͂��ꂼ�����������B�{�A�ڂł́A��b�Z�p����e�t�@�C���V�X�e���̓����A�p�t�H�[�}���X�����؂���
���W�F�S�e��������Linux�J�[�l��2.6�m��1�́n
�G���^�[�v���C�Y�����ɍ��V���ꂽ�J�[�l���E�R�A
�‚��ɑS�e�����炩�ɂȂ����J�[�l��2.6�B6���ɐ��������[�X�����\��̎�������ŃJ�[�l���̉��Ǔ_��V�@�\���ڂ����������
���W�F/proc�ɂ��Linux�`���[�j���O�m�O�ҁn
/proc�ŗ�������OS�̏��

Linux�̏�Ԋm�F�⋓���̕ύX�ŏd�v�Ȃ̂�/proc�t�@�C���V�X�e���ł���B/proc�̊T�O��/proc�𗘗p����OS�̏�Ԋm�F���@���������
���W�F���zOS�uUser Mode Linux�v���p�@
Linux��ʼn��z�I��Linux�𓮂���UML�̎d�g�݂���C���X�g�[���^�Ǘ����@��IPv6�ȂǂɑΉ�������J�[�l���\�z�܂ł�O����
Linux�̃J�[�l�������e�i�͏_��ȃV�X�e��
�J�[�l�������e�i�����R�~���j�e�B��IA-64 Linux
IA-64 Linux�̃J�[�l�������e�i�ł���Bjorn Helgaas���B������Linux�J�[�l���̊J���̐��Ȃǂɂ‚��Ďf����

MONOist�g�ݍ��݊J���t�H�[�����̒�����ALinux�֘A�L�����Љ�܂�


Linux �� OSS �t�H�[���� �V���L��
��IT���[���}�K�W���@�V������X�^�b�t�̃R���������[���œ͂��܂��i�����j

���ڂ̃e�[�}

Linux �� OSS �L�������L���O

�{�� ����