বিঘ্ন সংযত হওয়ার পিছনে মূল নীতিটি হ'ল প্রদত্ত ফ্রেম প্রতি একাধিক বিঘ্ন (বা ট্রান্সমিশন ফ্রেম সমাপ্তির জন্য একটি বিঘ্নিত) কমিয়ে আনা, যখন বাধা সার্ভিস করার সময় ওএস ওভারহেডের মুখোমুখি হয় reducing বিসিএম ৫70০৯ কন্ট্রোলার হ'ল হার্ডওয়্যারে বেশ কয়েকটি পদ্ধতির সমর্থন করে যাতে বাধা কোয়েলেস করার জন্য:
- এক্স ফ্রেম প্রাপ্তির পরে একটি বাধা তৈরি করুন (ইথটোলে rx-ফ্রেম)
- এক্স ইউজিকের পরে আর ফ্রেম না পেলে একটি বাধা তৈরি করুন (ইথটোলে rx-usecs)
এই হার্ডওয়্যার পদ্ধতিগুলি ব্যবহার করে সমস্যা হ'ল থ্রুপুট বা বিলম্বিতকরণ অনুকূল করতে আপনার সেগুলি বেছে নেওয়া দরকার, আপনার উভয়ই থাকতে পারে না। প্রতিটি প্রাপ্ত ফ্রেমের (আরএক্স-ফ্রেম = 1) এর জন্য একটি বিঘ্ন তৈরি করা বিলম্বিতা হ্রাস করে, তবে বিঘ্নিত পরিষেবা ওভারহেডের ক্ষেত্রে এটি উচ্চ ব্যয়ে এটি করে। একটি বৃহত্তর মান সেট করা (বলুন আরএক্স-ফ্রেম = 10) প্রাপ্ত প্রতিটি দশটি ফ্রেমের জন্য কেবলমাত্র একটি বিঘ্ন তৈরি করে গ্রাহক সিপিইউ চক্রের সংখ্যা হ্রাস করে, তবে আপনি দশটির গ্রুপে প্রথম ফ্রেমের জন্য আরও উচ্চতর বিলম্বের মুখোমুখি হবেন।
ন্যাপিআই বাস্তবায়নটি ট্র্যাফিকের গোছাতে আসে এই বিষয়টি কাজে লাগানোর চেষ্টা করে, যাতে আপনি প্রথম ফ্রেমে প্রাপ্ত তত্ক্ষণাত বাধা তৈরি করেন, তারপরে আপনি অবিলম্বে ভোটদানের মোডে স্যুইচ করেন (অর্থাত্ বাধা অক্ষম করুন) কারণ আরও ট্র্যাফিক পিছনে থাকবে। আপনি কয়েকটি ফ্রেম (আপনার প্রশ্নে 16 বা 64) বা কিছু সময়ের ব্যবধানের জন্য পোল করার পরে, ড্রাইভারটি আবার বাধা পুনরায় সক্ষম করবে এবং আবার শুরু করবে।
যদি আপনার পূর্বাভাসযোগ্য কাজের চাপ থাকে তবে উপরের যে কোনও (এনএপিআই, আরএক্স-ফ্রেম, আরএক্স-ইউজিস) জন্য নির্দিষ্ট মান নির্বাচন করা যেতে পারে যা আপনাকে সঠিক বাণিজ্য-অফ দেয়, তবে বেশিরভাগ কাজের চাপ আলাদা হয় এবং আপনি কিছু ত্যাগ স্বীকার করে শেষ করেন। এটি যেখানে অভিযোজিত-আরএক্স / অভিযোজিত-টিএক্স খেলতে আসে। সেখানে ধারণাটি হ'ল ড্রাইভার ক্রমাগত কাজের চাপ (প্রতি সেকেন্ডে প্রাপ্ত ফ্রেম, ফ্রেম আকার ইত্যাদি) পর্যবেক্ষণ করে এবং কম ট্র্যাফিক পরিস্থিতিতে বিলম্বিত হওয়ার জন্য বা উচ্চ ট্র্যাফিক পরিস্থিতিতে থ্রুপুটটির জন্য অনুকূলকরণের জন্য হার্ডওয়্যার বিঘ্নিত কোলেসিং স্কিমটির সুর দেয়। এটি একটি দুর্দান্ত তত্ত্ব তবে বাস্তবে এটি প্রয়োগ করা কঠিন হতে পারে। কয়েক জন ড্রাইভারই এটি প্রয়োগ করে (দেখুন http://fxr.watson.org/fxr/search?v=linux-2.6&string=use_adaptive_rx_coalesce ) এবং bnx2 / e1000 ড্রাইভার সেই তালিকায় নেই।
প্রতিটি ইথিওল কোয়েলসিং ফিল্ড কীভাবে কাজ করার কথা রয়েছে তার একটি ভাল বিবরণের জন্য, নীচের ঠিকানায় এথটোল_কোলেসেস কাঠামোর সংজ্ঞাটি দেখুন:
http://fxr.watson.org/fxr/source/include/linux/ethtool.h?v=linux-2.6#L111
আপনার জন্য নির্দিষ্ট পরিস্থিতির জন্য (~ 400Mb / s থ্রুটপুট) আমি আপনার কাজের চাপের জন্য সেরা সেটিংসের জন্য আরএক্স-ফ্রেম এবং আরএক্স-ইউজিক মানগুলি টিউন করার পরামর্শ দিই। বিলম্ব হওয়ার জন্য আপনার অ্যাপ্লিকেশন (httpd? ইত্যাদি) এর সংবেদনশীলতার পাশাপাশি ISR এর ওভারহেড উভয়টি দেখুন।
ডেভ