리눅스 커널 3.3 버전이 나왔네요...

rgbi3307의 이미지

리눅스 커널 3.3 버전이 나왔습니다.
소스 Change Log에서 제목만 간추려서 아래에 붙여 봅니다.
제목들을 대충 보면 USB 쪽에 수정사항이 많은듯 합니다.
저의 짧은 소견으로는 대폭적인 변화는 없는듯 합니다만,
그래도 변경된 것들 중에서 중요하거나 관심이 갈만한 것이 있으면,
댓글 팍팍~ 달아주시길....

Date: Mon Apr 2 10:32:52 2012 -0700

Linux 3.3.1

ASPM: Fix pcie devices with non-pcie children
serial: sh-sci: fix a race of DMA submit_tx on transfer
ARM: tegra: Fix device tree AUXDATA for USB/EHCI
nfsd: don`t allow zero length strings in cache_parse()
rtc: Provide flag for rtc devices that don`t support UIE
compat: use sys_sendfile64() implementation for sendfile syscall
x86, tls: Off by one limit check
x86, tsc: Skip refined tsc calibration on systems with reliable TSC
lockd: fix arg parsing for grace_period and timeout.
net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()
xfrm: Access the replay notify functions via the registered callbacks
sky2: override for PCI legacy power management
net: fix napi_reuse_skb() skb reserve
Fix pppol2tp getsockname()
Remove printk from rds_sendmsg
ipv6: fix incorrent ipv6 ipsec packet fragment
net: bpf_jit: fix BPF_S_LDX_B_MSH compilation
drm/i915: suspend fbdev device around suspend/hibernate
module: Remove module size limit
NFSv4.1: Fix layoutcommit error handling
NFSv4: Fix two infinite loops in the mount code
slub: Do not hold slub_lock when calling sysfs_slab_add()
xfs: Fix oops on IO error during xlog_recover_process_iunlinks()
backlight: fix typo in tosa_lcd.c
dm thin: fix stacked bi_next usage
dm persistent data: fix btree rebalancing after remove
dm exception store: fix init error path
dm crypt: add missing error handling
dm crypt: fix mempool deadlock
drm/radeon/kms/atom: force bpc to 8 for now
mfd: Test for jack detection when deciding if wm8994 should suspend
gpio/davinci: fix enabling unbanked GPIO IRQs
gpio/davinci: fix oops on unbanked gpio irq request
gpio/omap: fix _set_gpio_irqenable implementation
ARM: tegra: select required CPU and L2 errata options
vfs: fix d_ancestor() case in d_materialize_unique
ext4: check for zero length extent
ext4: fix race between sync and completed io work
ext4: fix race between unwritten extent conversion and truncate
ext4: ignore EXT4_INODE_JOURNAL_DATA flag with delalloc
jbd2: clear BH_Delay & BH_Unwritten in journal_unmap_buffer
PM / Hibernate: Enable usermodehelpers in hibernate() error path
NFSv4: Rate limit the state manager warning messages
staging: r8712u: Add missing initialization and remove configuration parameter CONFIG_R8712_AP
rtlwifi: Convert to asynchronous firmware load
PM / shmobile: Make MTU2 driver use pm_genpd_dev_always_on()
PM / shmobile: Make CMT driver use pm_genpd_dev_always_on()
PM / shmobile: Make TMU driver use pm_genpd_dev_always_on()
PM / Domains: Introduce `always on` device flag
PM / Domains: Check domain status during hibernation restore of devices
PM / Domains: Fix hibernation restore of devices, v2
mxl111sf: fix error on stream stop in mxl111sf_ep6_streaming_ctrl()
pvrusb2: fix 7MHz & 8MHz DVB-T tuner support for HVR1900 rev D1F5
au8522: bug-fix: enable modulation AFTER tune (instead of before tuning)
tda10071: fix the delivery system
as102: add __packed attribute to structs defined inside packed structs
lgdt330x: fix signedness error in i2c_read_demod_bytes()
hwmon: (fam15h_power) Correct sign extension of running_avg_capture
sysctl: protect poll() in entries that may go away
iommu/amd: Make sure IOMMU interrupts are re-enabled on resume
iommu/amd: Fix section warning for prealloc_protection_domains
proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().
x86-32: Fix endless loop when processing signals for kernel tasks
x86-32: Fix typo for mq_getsetattr in syscall table
usbnet: don`t clear urb->dev in tx_complete
usbnet: increase URB reference count before usb_unlink_urb
SUNRPC: We must not use list_for_each_entry_safe() in rpc_wake_up()
UBI: fix eraseblock picking criteria
UBI: fix error handling in ubi_scan()
CIFS: Fix a spurious error in cifs_push_posix_locks
cifs: fix issue mounting of DFS ROOT when redirecting from one domain controller to the next
CIFS: Respect negotiated MaxMpxCount
xfs: fix inode lookup race
NFSv4: Return the delegation if the server returns NFS4ERR_OPENMODE
NFS: Properly handle the case where the delegation is revoked
mm: vmscan: forcibly scan highmem if there are too many buffer_heads pinning highmem
firewire: ohci: fix too-early completion of IR multichannel buffers
pata_legacy: correctly mask recovery field for HT6560B
ahci_platform: add STRICT_AHCI platform type
ahci: move AHCI_HFLAGS() macro to ahci.h
ahci: add AHCI_HFLAG_DELAY_ENGINE host flag
HID: add more hotkeys in Asus AIO keyboards
HID: add extra hotkeys in Asus AIO keyboards
Bluetooth: Add AR30XX device ID on Asus laptops
target: Fix 16-bit target ports for SET TARGET PORT GROUPS emulation
target: prevent NULL pointer dereference in target_report_luns
target: fix use after free in target_report_luns
target: Don`t set WBUS16 or SYNC bits in INQUIRY response
target: Set peripheral device type consistently in INQUIRY response
target: Fix up handling of short INQUIRY buffers
drm/radeon/kms: add connector quirk for Fujitsu D3003-S2 board
drm/radeon/kms: fix analog load detection on DVI-I connectors
drm/radeon: Restrict offset for legacy hardware cursor.
drm/i915: Only clear the GPU domains upon a successful finish
md: fix clearing of the `changed` flags for the bad blocks list.
md/raid1,raid10: avoid deadlock during resync/recovery.
md: don`t set md arrays to readonly on shutdown.
md/bitmap: ensure to load bitmap when creating via sysfs.
ib_srpt: Fix srpt_handle_cmd send_ioctx->ioctx_kref leak on exception
tcm_fc: Fix fc_exch memory leak in ft_send_resp_status
udlfb: remove sysfs framebuffer device with USB .disconnect()
gma500: Fix mmap frambuffer
usb gadget: fix a section mismatch when compiling g_ffs with CONFIG_USB_FUNCTIONFS_ETH
ALSA: hda - fix printing of high HDMI sample rates
iscsi-target: Fix dynamic -> explict NodeACL pointer reference
iscsi-target: Fix iscsit_alloc_buffs() failure cases
SCSI: iscsi: fix setting of pid from netlink skb
tcm_loop: Set residual field for SCSI commands
ASoC: pxa-ssp: atomically set stream active masks
ASoC: fsl: p1022ds: tell the WM8776 codec driver that it`s the master
hugetlbfs: avoid taking i_mutex from hugetlbfs_read()
bootmem/sparsemem: remove limit constraint in alloc_bootmem_section
PM / Domains: Fix handling of wakeup devices during system resume
TPM: Zero buffer whole after copying to userspace
mm: thp: fix pmd_bad() triggering in code paths holding mmap_sem read mode
x86/ioapic: Add register level checks to detect bogus io-apic entries
ima: fix Kconfig dependencies
mlx4_core: Fix one more static exported function
IB/iser: Post initial receive buffers before sending the final login request
rtnetlink: Fix VF IFLA policy
p54spi: Release GPIO lines and IRQ on error in p54spi_probe
rtc: Disable the alarm in the hardware (v2)
genirq: Fix incorrect check for forced IRQ thread handler
genirq: Fix long-term regression in genirq irq_set_irq_type() handling
uevent: send events in correct order according to seqnum (v3)
ntp: Fix integer overflow when setting time
math: Introduce div64_long
ath9k: fix going to full-sleep on PS idle
iwlwifi: always monitor for stuck queues
rtlwifi: rtl8192ce: Fix loss of receive performance
rtlwifi: rtl8192c: Prevent sleeping from invalid context in rtl8192cu
rtlwifi: Handle previous allocation failures when freeing device memory
rtlwifi: rtl8192c_common: rtl8192de: Check for allocation failures
rt2x00: Add support for D-Link DWA-127 to rt2800usb.
USB: serial: mos7840: Fixed MCS7820 device attach problem
usb: cp210x: Update to support CP2105 and multiple interface devices
usb-serial: Add support for the Sealevel SeaLINK+8 2038-ROHS device
USB: qcserial: don`t grab QMI port on Gobi 1000 devices
USB: ums_realtek: do not use stack memory for DMA in __do_config_autodelink
usb: Fix build error due to dma_mask is not at pdev_archdata at ARM
usb: fsl_udc_core: Fix scheduling while atomic dump message
cdc-wdm: Don`t clear WDM_READ unless entire read buffer is emptied
cdc-wdm: Fix more races on the read path
USB: serial: fix console error reporting
TTY: Wrong unicode value copied in con_set_unimap()
tty: moxa: fix bit test in moxa_start()
tty: serial: OMAP: Fix oops due to NULL pdata in DT boot
sysfs: Fix memory leak in sysfs_sd_setsecdata().
futex: Cover all PI opcodes with cmpxchg enabled check
USB: gadget: Make g_hid device class conform to spec.
usb: gadgetfs: return number of bytes on ep0 read request
usb: renesas_usbhs: bugfix: add .release function to gpriv->gadget.dev
usb: gadget: Clear usb_endpoint_descriptor inside the struct usb_ep on disable
usb: musb: Reselect index reg in interrupt context
staging: vme: fix section mismatches in linux-next 20120314
usb: dwc3: use proper function for setting endpoint name
usb: dwc3: fix bogus test in dwc3_gadget_start_isoc
usb: dwc3: gadget: don`t wrap around the TRB poll on non-ISOC
usb: dwc3: make dwc3_get_device_id() return the id
staging: r8712u: Fix regression in signal level after commit c6dc001
staging: r8712u: Fix regression introduced by commit a5ee652
powerpc/usb: fix bug of kernel hang when initializing usb
USB: ftdi_sio: new PID: LUMEL PD12
USB: ftdi_sio: add support for FT-X series devices
USB: ftdi_sio: new PID: Distortec JTAG-lock-pick
USB: Microchip VID mislabeled as Hornby VID in ftdi_sio.
USB: ftdi_sio: add support for BeagleBone rev A5+
USB: ftdi_sio: fix problem when the manufacture is a NULL string
staging/octeon: Fix PHY binding in octeon-ethernet driver.
staging: zcache: avoid AB-BA deadlock condition
staging: android/lowmemorykiller: Don`t unregister notifier from atomic context
USB: option: add ZTE MF820D
USB: option: make interface blacklist work again
USB: option driver: adding support for Telit CC864-SINGLE, CC864-DUAL and DE910-DUAL modems
USB: option: Add MediaTek MT6276M modem&app interfaces

rgbi3307의 이미지

오늘 리눅스 커널소스 3.3.1을 좀 자세히 받는데,
프로세스 스케쥴링 관련 소스 파일들의 위치가 변경된듯 합니다.
기존에 스케쥴링 소스파일들은 /kernel/sched* 에 있었는데,
서브 폴더(/kernel/sched/)를 아예 새롭게 만들면서,
스케쥴 핵심 소스는 /kernel/sched/core.c,
Real-Time Scheduling Class (SCHED_FIFO, SCHED_RR)는 /kernel/sched/rt.c,
Completely Fair Scheduling (CFS) Class (SCHED_NORMAL/SCHED_BATCH)는 /kernel/sched/fair.c
로 파일명을 바꾸었습니다.
스케쥴링 코드흐름의 큰줄기는 크게 변환것이 없는듯 하지만,
기존에 /kernel/ 폴더에 여러개의 파일로 산재해 있는것들을
/kernel/sched/ 폴더 한군데로 모으면서 소스파일 관리를 좀더 효과적으로 해놓은듯 합니다.

한가지 제가 확인한 큰 변화는 schedule() 함수 호출시 sched_submit_work(tsk) 함수가 추가된듯 하네요.
이 함수의 역할은 좀 더 분석해 봐야 겠습니다.
혹시, 알고 계신분은 댓글 팍팍~ 달아 주시기 바랍니다.

asmlinkage void __sched schedule(void)
{
	struct task_struct *tsk = current;
 
	sched_submit_work(tsk);
	__schedule();
}EXPORT_SYMBOL(schedule);

그럼 즐커공(즐거운 커널 공부) 하시길...

From:
*알지비 (메일: rgbi3307(at)nate.com)
*커널연구회(http://www.kernel.bz/) 내용물들을 만들고 있음.
*((공부해서 남을 주려면 남보다 더많이 연구해야함.))

moldycake의 이미지

관심이있는데
현재 SLC라는 커스텀 리눅스 사용중입니다.
커널이 Linux 2.6.32-220.7.1.el6.x86_64인데
커널 업데이트를 할 수 있는건가요?
아님 업데이트하면 문제가생기나요..